Ich habe eine Weile gesucht und auch gedacht, dass dies mit der Graph-API nicht möglich ist.
Ich habe jedoch eine ähnliche Frage gestellt: Ersatz für alten GetAppUsers-Aufruf, um die Freunde eines Benutzers zu sehen, die meine Anwendung verwenden. , für die spezifische API, die ich verwendete, und erhielt eine großartige allgemeine Antwort.
https://graph.facebook.com/me/friends?fields=installed
oder allgemeiner
https://graph.facebook.com/{user id}/friends?fields=installed
Dies gibt alle Freunde zurück, mit dem zusätzlichen Feld "installiert = wahr" für die Freunde, die die Anwendung verwenden.
Hier funktioniert es im Graph API Explorer :
/me/friends?fields=id,name,installed
wodurch die?fields=
Feldreihenfolge und die zurückgegebenen Standardinformationen erhalten bleiben, ohne definiert zu sein (true am 05.12.2012).installed
nicht der Fall ist). Wir müssen manuell prüfen, ob dasinstalled
Feld für jeden Benutzer vorhanden ist.Dies kann mit FQL erfolgen.
QED!
quelle
me()
anstelle der?Ja, die Graph-API ist schrecklich dokumentiert. Ich sehe keine Dokumentation für einen „Anwendung“ Typen , aber sie eine Anwendung Informationen in der Dokumentation verweisen:
https://graph.facebook.com/2439131959
Vielleicht können Sie die Mitglieder der Anwendung mithilfe der Gruppensyntax abrufen?
https://graph.facebook.com/2439131959/members
Sie benötigen eine authentifizierte Sitzung, um sie zu testen. Ansonsten sieht es so aus, als ob Facebook uns dazu drängt, FQL zu verwenden, um Anfragen direkt zu senden:
http://developers.facebook.com/docs/reference/fql/application
Sie können also eine FQL-Abfrage übergeben, um Informationen zu Ihrer Anwendung zu erhalten.
quelle
Alte REST-API:
Neue Graph API:
quelle
Ich habe viele Untersuchungen zu diesem Thema durchgeführt. Soweit ich weiß, gibt es keine Möglichkeit, die
Friends.getAppUsers
Graph-API zu verwenden. Die neuesten von Facebook bereitgestellten SDKs verwenden alle die alte REST-API, um Freunde für die Anwendung zu gewinnen.quelle
Mit restFB habe ich Folgendes gemacht (danke Igy / Alex für die Anleitung). Beachten Sie, dass Facebook ein Array von Freund-IDs mit "installiert" = true zurückgibt, wenn der Benutzer installiert ist (wie hier zu sehen ist ).
Erweitern Sie zuerst die Benutzerklasse und fügen Sie ein
installed
Feld hinzu:Verwenden Sie als Nächstes den DefaultFacebookClient:
quelle
Die Problemumgehung besteht darin, die Filterung selbst durchzuführen. Vermutlich haben Sie alle UIDs der Benutzer, die sich für Ihre Anwendung angemeldet haben, in Ihrer eigenen Datenbank. Holen Sie sich also zuerst die Uids aller Freunde der Benutzer und wählen Sie die Benutzer aus Ihrer Datenbank aus, die über passende Uids verfügen.
Das neue Facebook Graph API-Programm scheint sehr schlecht ausgeführt und nicht ganz durchdacht zu sein. Es scheint, als hätten sie es eilig, es für Facebook f8 zu veröffentlichen, bevor es ausgereift war, und es fehlen viele Funktionen, die zuvor verfügbar waren.
quelle
Sie können die alten REST-APIs weiterhin in der neuen Graph-API aufrufen. Das ist perfekt gültig.
Eine alternative Möglichkeit besteht darin, FQL zu verwenden, um die Freunde des Anwendungsbenutzers zu gewinnen.
Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, dies nur mit der Graph-API zu tun.
quelle