10
votes

Puis-je utiliser l'API de graphique Facebook pour obtenir des images de profils d'amis de l'utilisateur?

Je suis nouveau au développement de Facebook, après avoir testé l'API d'Adobe dans un jeu flash, j'ai décidé de tester à l'aide de l'API graphique communiquant avec mon jeu flash. Après avoir fait des trucs de base comme la connexion et obtenir les données de mon utilisateur, je me demandais s'il est possible d'obtenir les pcités de profil d'amis de mon utilisateur, je peux donc les transmettre aux uiloaders dans mon jeu flash et montrez-leur.

Si quelqu'un peut me signaler à Exemples d'actions de base utilisant l'API de graphique Facebook, comme inviter des amis ou une publication au mur par exemple, ce serait merveilleux.

Merci.

Mise à jour: < P> Utiliser la suggestion de Nathan J'ai essayé d'obtenir mes amis et cela a fonctionné: xxx

Puis j'ai essayé d'obtenir les images de mon ami avec: xxx

Mais cela n'a pas fonctionné. aucune idée?

merci.


1 commentaires

Est-ce toujours possible avec l'API de graphique mis à jour?


6 Réponses :


13
votes

Vous devez d'abord obtenir la liste des amis https://graph.facebook.com/ moi / amis? Access_Token = ... Puis pour chacun des amis que vous pouvez demander http: / /Graph.facebook.com/user_id/picture qui vous donnera l'URL de leur photo de profil actuelle.


6 commentaires

J'ai eu le succès de recevoir mes amis, mais rien avec les images de mon ami. J'ai mis à jour la question à voir si vous pouviez trouver le problème.


Le problème est que la photo n'est pas un appel d'API. L'URL graphique vous redirigera simplement à l'URL. Je ne sais pas beaucoup sur Flash, mais si je voulais utiliser la photo d'un utilisateur, par exemple, je ferais ceci: graph.facebook.com/user_id/photo "/> Ainsi, plutôt que de faire de l'appel de $ Facebook -> $ API appelez simplement votre photo à l'URL.


Avez-vous eu ce résolu? Si oui, veuillez envisager de marquer ma réponse comme la réponse correcte.


Peut-être que c'est une différence entre php et javascript (je suis toujours un noob avec l'API facebook), mais pour moi, ce n'est pas "photo", mais "Photo": graph.facebook.com/user_id/picture qui redirigera vers une autre URL (par exemple, static.ak.fbcdn.net/rsrc.php/v1/yo/r/uliqmhjn-sk.gif )


C'est exactement la même chose que ce que j'ai écrit, il n'a filtré que les champs qui réduisent la quantité de données renvoyées. Cependant, le filtre n'est pas nécessaire et ne faisait pas partie de la question. En outre, il a laissé la partie la plus importante qui récupère l'image réelle.


En fait, cette méthode ne renvoie que le nom et l'identifiant de tous les amis FB. @ La méthode de DarkI699 vous permet de demander plus d'informations, à condition que votre Access_Tokoks le permet.



1
votes

Il n'est pas possible d'obtenir les photos de cette façon: /'.'$ ami ['id']. '/ Photo

Au lieu de cela, vous devez d'abord boucler les albums à l'aide de: /'.'$ ami ['id']. '/ Albums

Alors pour chaque identifiant d'album, vous devez utiliser: /'.'$ album ['id']. '/ Photos

De cette façon, vous atteindrez l'identifiant des images dans cet album. Ensuite, avec l'identifiant de la photo que vous avez eu, vous pouvez obtenir la photo / '.$ image [' id '].' / Image

J'espère que cela aide.


0 commentaires

0
votes
foreach ($friends['data'] as $friend)
    {
        $picture= $facebook->api('/'.$friend['id'].'/photo?token='.$session['access_token']);
    }

0 commentaires

64
votes

Le moyen le plus simple encore n'a pas été publié ici:

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


4 commentaires

Ceci est exactement ce que je cherchais. Je ne sais pas pourquoi il a fallu si longtemps pour le trouver. Merci.


+1 Mais je suis de petite taille d'images. Pour cela, j'ai besoin de frapper un autre service " graph.facebook.com/zuck/ image? Largeur = 100 & Hauteur = 100 "Pouvez-vous fusionner à la fois la requête en une fois?


Cela a fonctionné comme un charme. juste une question. Ça me donne un objet image comme celui-ci: "Image": {"Data": {"URL": " fbcdn-profile-a.akamaihd.net .... "," is_silhouette ": faux}} Y a-t-il un moyen d'obtenir directement l'élément d'URL ??


@Mangesh Obtenez des images plus grandes en faisant un appel imbriqué, définissant la largeur (ou la hauteur): https://graph.facebook.com/me/friends?access_token== [oauth_to ken] & champs = nom, ID, image.Width (400) ou par type: https://graph.facebook.com/me/friends?access_token= [oauth_to ken] & champs = nom, id, image.type ( Grand)




1
votes

Je cherchais la même fonctionnalité et je viens de remarquer que ce n'est plus possible (au moment de la rédaction de: 2019-11-17, API V5.0).

Si vous essayez d'appeler / Moi / Friends? Fields = Amis {Nom, ID, Profile_Pic} Code> Vous recevrez un tableau vide d'amis: P>

{
  "data": [
  ],
  "summary": {
    "total_count": 823
  }
}


0 commentaires