9

Ich mag würde Freunde von Freunden über einen API-Aufruf bekommen und wenn ich versuche, es zu tun, erhalte ich die folgende Ausnahme,Erste Freunde von Freunden in FB Graph API

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "(#604) Can't lookup all friends of .... Can only lookup for the logged in user (...), or friends of the logged in user with the appropriate permission" 
    } 
} 

Die URL ich versuche zu Zugang ist,

https://graph.facebook.com/friend_id/friends?access_token=access_token

ich Berechtigungen erweitert bin immer die wie folgt ist,

<fb:login-button perms="user_likes,friends_likes"></fb:login-button> 

Kann mir bitte jemand sagen, was hier schief läuft? Oder bedeutet es, dass ich niemals Zugang zu Freunden von Freunden bekomme?

+1

Rechts: Sie können keinen Zugang zu Friends of Friends erhalten. –

+0

Ich würde gerne wissen, wie das geht. Du kannst es von Facebook aus machen und die Facebook iPhone App erlaubt es auch. – senfo

+0

@Abhishek: Jetzt ist es mit fql möglich, Freunde von Freunden zu bekommen (begrenzt). Ich habe eine Lösung gegeben. –

Antwort

-3

Leider kann ich Ihre Antwort nicht spezifisch fragen, da ich keine Erfahrung mit der FB API habe. Ich glaube jedoch, dass FB Benutzern erlaubt, zu verstecken, wer ihre Freunde sind. Wenn sie diese Einstellung haben, können Sie vielleicht überhaupt nicht auf ihre Freunde zugreifen. Ich würde versuchen, Ihren Code zu ändern, um zuerst zu prüfen, welche Berechtigungen ein bestimmter Benutzer hat, und erst dann auf seine Freundesliste zuzugreifen, wenn Sie Zugriff darauf haben. Ein bisschen Spekulation hier.

+0

Nun, ich habe auch versucht, zwei Profile mit allen Zugriffen auf Freunde zu erstellen und es zu testen. Scheint nicht zu funktionieren :( – Abhishek

6

Derzeit gibt es keine erweiterte Berechtigung, mit der Sie die Freunde von Freunden eines Benutzers anzeigen können. Die "* _likes" -Berechtigungen zeigen Ihnen nur die Facebook-Seiten, die den Nutzern gefallen haben.

Es ist möglich, dass Sie die Freunde eines jeden Freundes des Benutzers nacheinander abrufen und zwischenspeichern können, aber ohne Zugriffstoken für jeden Freund können Sie nur öffentliche Daten abrufen.

+0

Dies ist die richtige Antwort. 100% –

-1

Sie können die Freunde des aktuellen Benutzers über einen Graph API-Aufruf an mich/Freunde erhalten. Sie benötigen jedes gültige access_token, keine speziellen erweiterten Berechtigungen, nur die Basic. Es gibt einen Vorbehalt, dieser Benutzer muss Ihnen erlauben, ihre Freundesliste zu sehen. In den Datenschutzeinstellungen> Bei Facebook verbinden gibt es eine Einstellung "Deine Freundesliste sehen". Wenn der Benutzer eine benutzerdefinierte Einstellung ausgewählt und "Nur ich" gewählt hat, wird dieser Fehler angezeigt.

In ähnlicher Weise, wenn der aktuelle Benutzer anderen erlaubt, ihre Freundesliste zu sehen, aber einer der Freunde schließt dies aufgrund von Datenschutzbedenken, dann werden Sie keine Daten sehen können und diesen Fehler bekommen.

Ich konnte die Szenarien, die ich beschrieben habe, überprüfen.

+0

Ich weiß nicht, warum diese Antwort abgelehnt wird. Es ist die richtige Antwort. Die besten Szenarien sind gemeinsame Freunde, hier gezeigt: http: // Entwickler Englisch: www.mjfriendship.de/en/index.php?op...39&Itemid=32 Oder benutze das Diagramm hier: http://developers.facebook.com/tools/explorer/?method=GET&path=me%2Fmutualfriends%2F1207059 –

3

ich Freunde von Freunden bekam (begrenzt). Ich hatte dasselbe Problem. Obwohl es sehr spät für die Beantwortung der Frage ist, wird es jemandem helfen. Deshalb beantworte ich diese Frage.

Wir können Freunde von Freunden bekommen, die App-Benutzer sind. $ fb_id = Benutzer-ID, deren Freunde von Freunden benötigt werden.

$ query = "SELECT uid, name, work_history FROM Benutzer WHERE uid IN ( UID2 von Freund SELECT WHERE UID1 IN (SELECT uid FROM Benutzer WHERE uid IN (UID2 FROM Freund SELECT WHERE UID1 = $ fb_id) und is_app_user = 1)) "; $ user_info = $ facebook-> api (array ('methode' => 'fql.Abfrage ', ' Abfrage '=> $ Abfrage));

@Olie:

Sie Ihre Freunde des Freundes durch Anwendung abgerufen werden. Du brauchst also die Erlaubnis von deinem Freund, dessen Freunde du willst. Ihr Freund sollte diese Anwendung verwenden und diese Berechtigung akzeptieren, während er den Zugriff auf Informationen erlaubt. Sonst wirst du zu Freunden deines Freundes nicht fähig sein. Ich habe diese Abfrage getestet. Und es funktioniert erfolgreich.

"message": "(#604) Can't lookup all friends of .... Can only lookup for the logged in user (...), or friends of the logged in user with the appropriate permission" 

Diese Meldung erklärt gut. Gründlich durchlesen.

Ich hoffe, Sie verstehen die Lösungskriterien.

+0

Ich bin nicht ganz das. Sagen Sie, ich listet meine Freunde auf, und sie enthalten fbID = 17, 24, 319 und 4027. Jetzt würde ich Ich möchte gerne eine Liste der Freunde von fbID = 319 (einer meiner Freunde). Das funktioniert auf der FB-Website, aber ich bekomme es nicht mit Ihrer Anfrage zu arbeiten. Verstehen Sie mich? – Olie

+0

@Olie: Ich habe aktualisierte Lösung. –

1

Sie kann nicht Freunde von Freunden zu bekommen, ist es aufgrund von Datenschutzbelangen nicht erlaubt.

Eine Problemumgehung, die wir zuvor durchgeführt haben, besteht darin, alle Benutzerfreunde in unserer eigenen Datenbank zu speichern. Auf diese Weise können wir alle Freundeslisten der verschiedenen Benutzer referenzieren und Freunde von Freunden finden, die die von uns erstellte Anwendung verwendet haben.

Wichtiger Hinweis, eine solche Tabelle würde schnell recht gut zu werden abhängig von der Anzahl der Benutzer, die Sie erhalten.

Zählen Sie auf jeden Benutzer mit etwa 250-300 Freunde im Durchschnitt, also, wenn Sie sich für eine solche Lösung entscheiden, stellen Sie sicher, Ihre Datenbank dafür zu optimieren, und dann sollte es einfach gut funktionieren.

Verwandte Themen