J'ai cherché pendant un moment et je pensais moi aussi que ce n'était pas possible avec l'API Graph.
Cependant, j'ai posté une question similaire, Remplacement de l'ancien appel GetAppUsers pour voir les amis d'un utilisateur qui utilisent mon application? , pour l'API spécifique que j'utilisais et a reçu une excellente réponse générale.
https://graph.facebook.com/me/friends?fields=installed
ou plus généralement
https://graph.facebook.com/{user id}/friends?fields=installed
Cela renvoie tous les amis, avec le champ supplémentaire "installed = true" pour les amis qui utilisent l'application.
Voici que cela fonctionne dans l' explorateur d'API Graph :
/me/friends?fields=id,name,installed
, ce qui préserve l'ordre des champs et les informations standard qui sont renvoyées sans?fields=
être définies (vrai le 05/12/2012).installed
n'est pas vrai). Nous devons vérifier manuellement si leinstalled
champ existe pour chaque utilisateur.Cela peut être fait avec FQL.
QED!
la source
me()
place du?Oui, l'API Graph est horriblement documentée. Je ne vois pas de documents pour une « application » de type , mais ils font référence à l'information d'une application dans la documentation:
https://graph.facebook.com/2439131959
Alors, peut-être pouvez-vous obtenir les membres de l'application en utilisant la syntaxe de groupe?
https://graph.facebook.com/2439131959/members
Vous aurez besoin d'une session authentifiée pour le tester. Sinon, il semble que Facebook nous pousse à utiliser FQL pour envoyer des requêtes directement:
http://developers.facebook.com/docs/reference/fql/application
Vous pouvez donc passer une requête FQL pour obtenir des informations sur votre application.
la source
Ancienne API REST:
Nouvelle API Graph:
la source
J'ai fait beaucoup d'enquêtes sur cette question. D'après ce que je peux dire, il n'y a aucun moyen d'
Friends.getAppUsers
utiliser l'API Graph. Les derniers SDK fournis par Facebook utilisent tous l'ancienne API REST pour amener des amis à utiliser l'application.la source
En utilisant restFB , j'ai fait ce qui suit (merci Igy / Alex pour les conseils). Notez que Facebook renvoie un tableau d'identifiants d'amis avec "installed" = true si l'utilisateur est installé (comme on peut le voir ici ).
Commencez par étendre la classe User, en ajoutant un
installed
champ:Ensuite, en utilisant DefaultFacebookClient:
la source
La solution de contournement consiste à effectuer le filtrage vous-même. Vraisemblablement, vous avez tous les uid des utilisateurs qui se sont inscrits à votre application dans votre propre base de données. Commencez par obtenir tous les uids des amis des utilisateurs et sélectionnez les utilisateurs de votre base de données qui ont des uids correspondants.
Le nouveau programme d'API Facebook Graph semble très mal exécuté et pas tout à fait réfléchi. Il semble qu'ils se soient précipités pour le publier pour Facebook f8 avant qu'il ne soit mature, et il manque beaucoup de fonctionnalités disponibles auparavant.
la source
Vous pouvez toujours appeler les anciennes API REST dans la nouvelle API Graph. C'est parfaitement valable.
Une autre manière consiste à utiliser FQL pour obtenir les amis de l'utilisateur de l'application.
Je ne sais pas s'il existe un moyen de le faire en utilisant uniquement l'API Graph.
la source