2010-09-23 3 views
2

Avoir obtenu la fondation en place, mais maintenant, me trouvant vouloir jouer avec mes photos de profil de l'utilisateur
de l'application; Je suis perplexe .... et ont été tout à fait pour quelques heures ...Problème obtaing profil images à partir de Facebook API API

Tout d'abord, on obtient mon oauth_token/access_token, en utilisant le fonctionnaire (bien que Alpha ;-)
Facebook C# SDK et seulement utiliser le Graph API.

FBapi .get ("/" + friend.Dictionary [ "id"] Chaîne + "/ d'image".);

conduit à une exception en raison de ne pas retourner un JSONObject et

utilisant le http://graph.facebook.com/me/picture complet est transmis/traduit à l'URL de l'image.

Essayer une approche plus directe n'a pas marché non plus:

WebClient wcImg = new WebClient();

wcImg.DownloadFile ("/" + ami.Dictionnaire ["id"]. Chaîne + "/ image", "nom_blame.jpg");

Certains détails manquent dans ma question; Je vous demande pardon, je suis très fatigué et modifierai plus tard si le tumulte commence.

Des idées?


Addendum: Garçon, affligé par l'aveuglement de code J'étais en effet! Cependant, votre sensibilité m'a donné ce dont j'avais besoin (Zynga, tremblez dans ma toile ;-). Par souci de curiosité ... il semble qu'il n'y ait pas de modèle JSON (pardon de mon manque de jargon) disponible pour les photos de profil? Alors, comment peut-on obtenir une image détaillée de cette image de profil (si disponible)?

Répondre

4

L'image dans Graph API est un animal un peu spécial. Il ne renvoie pas json, il avance directement à l'image. Il a été fait pour que vous puissiez utiliser cette URL droit en html:

<img src="http://graph.facebook.com/<UID>/picture"> - displays avatar 

Maintenant, si vous avez besoin de connaître l'URL de l'image réelle redirige vers il y a 2 options:

  1. Lire redirect en-têtes de ce graphique URL
  2. Utilisation FQL:

    select pic_square from user where uid=12345 
    

Il y a beaucoup d'autres informations qui peuvent être extraites d'un utilisateur à l'aide FQL (y compris les images dans d'autres tailles).

+0

fou fatigué, je suis en effet; merci serg! –

3

Aussi, si vous voulez montrer grande photo de profil, utilisez ceci:

http://graph.facebook.com/<UID>/picture?type=large 
+0

Cela ne fonctionne pas pour moi d'obtenir quelque chose de plus grand qu'une grande vignette. Avez-vous comment obtenir la photo source pour la photo de profil de l'utilisateur? –

1

Vous pouvez obtenir toutes les photos de profil amis (liens directs vers les photos), en une seule requête GET:

https://graph.facebook.com/me/friends?access_token=[oauth_token]&fields=name,id,picture 

utilisez ensuite JSON pour Décoder la chaîne .. et c'est tout ...

NJoy^_^