2013-06-26 10 views
11

Ich versuche den Graph API Explorer zu verwenden, um ein Zugriffstoken für meine Anwendung zu erstellen, um meine Seiten mit 'me/accounts' anzuzeigen. Jedes Mal, wenn ich das versuche, gibt es mir einen leeren Datensatz zurück. Ich habe manage_pages als Erlaubnis gewählt und es funktioniert immer noch nicht. Ohne irgendwelche anderen Berechtigungen zu überprüfen, kann ich "Ich/Likes", "Ich/Filme" usw. sehen. Ich habe keine Ahnung, was ich falsch mache.Facebook Graph API Rückgabe leerer Datensatz

Das ist, was ich tue:

https://developers.facebook.com/tools/explorer/

  1. meine Anwendung Wählen Sie aus dem Dropdown-Menü.
  2. Klicken Sie auf "Zugriffstoken Get" >> Check "manage_pages" >> Zugriffstoken Get
  3. Senden "GET/me/Konten"

ich:

{ 
    "data": [ 
    ] 
} 

Ich war durch ein Dutzend verschiedene Google-Suchen nach einer Antwort auf mein Problem und habe alles versucht, einschließlich der Erstellung von Benutzer-Token und App-Token. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!

UPDATE 6/27/13 fand ich ein paar Ressourcen, die publish_stream als Erlaubnis sagen schließen als auch, was ich versuchte. Noch immer kein Erfolg. Jemand hat auch vorgeschlagen, dass es ein Restriktionsproblem sein könnte, aber meine App hat keine Einschränkungen (außer der Standard 13+).

+1

Und Sie haben in [Facebooks Debug-Tool] (https://developers.facebook.com/tools/debug) verifiziert, dass das von Ihnen verwendete Zugriffstoken über die Berechtigung manage_pages verfügt? – Igy

+0

Richtig, ich habe sogar zusätzliche Berechtigungen hinzugefügt, um zu sehen, ob ich sie vielleicht brauchte. Jedes Mal gibt der Debugger zurück, dass mein Zugriffstoken gültig ist und über die von mir ausgewählten Berechtigungen verfügt. Trotzdem bekomme ich immer noch keine Daten. – user1770011

+1

Und (und ich weiß, das ist eine dumme Frage, aber es ist bei weitem der wahrscheinlichste Grund) - der Benutzer, dessen Access-Token Sie verwenden, hat tatsächlich eine Seite, die sie ein Administrator sind? – Igy

Antwort

1

Ich war mir nicht bewusst, dass die Möglichkeit, meine 'Seiten' von/me/account zu sehen, erforderte, dass ich eine zusätzliche Zugriffsberechtigung für 'Seitenadministrator' hatte. Sobald der App-Besitzer mir das innerhalb der App gewährt hatte, konnte ich die Daten im Graph Explorer sehen.

+0

Es heißt jetzt 'pages_show_list' Erlaubnis – yash

2

Ich hatte ein ähnliches Problem. Ich war auch ein "Manager" für eine Seite (von der Seite Adminseite auf Facebook: Seite bearbeiten> Admin-Rollen verwalten). Das ist nicht genug - man sollte auch sicherstellen, dass das Access Token, das verwendet wird, eine 'manage_pages' erweiterte Berechtigung hat.

Siehe auch Facebook documentation (speziell Abschnitt 2).

Screenshot of the graph explorer access token generator

4

Ich hatte ein ähnliches Problem. Mehrere Lösungen für stackoverflow führten das Problem hauptsächlich auf das Fehlen erforderlicher Berechtigungen zurück. Überprüfen Sie die erforderlichen Berechtigungen mit der Graph API explorer oder documentation (Die Tabellen haben eine Spalte namens Berechtigungen für jedes Feld). Einige Vorschläge waren, den Bereich zu verwenden, um speziell zu erwähnen, welche Berechtigungen Sie in der Login-Schaltfläche oder während des Aufrufs der API benötigen. ZB:

FB.login(function (response) {   
if (response.authResponse) {   
    console.log('Welcome! Fetching your information.... ');   
} else {  
console.log('User cancelled login or did not fully authorize.');   
}   
}, { scope: 'email,publish_stream,user_birthday,user_location' }); 

hatte ich eine andere Frage, wo ich alle doppelt geprüft hatte die Berechtigungen für meinen app Armaturenbrett festgelegt, die richtig waren, aber während der Anmeldung hatte ich einen Rahmen mit einem Satz von Berechtigungen festgelegt, die zu schienen Überschreiben Sie die App-Einstellungen. :(Ich fand das seltsam, aber ich korrigierte es, indem ich die anderen Berechtigungen in den Bereich mit einfügte und mein Problem wurde gelöst.

Ein effektiver Weg, wenn die richtigen Berechtigungen zu sehen sind durch den Code festgelegt wird, ist den folgenden Code zu verwenden:

FB.api({ method: 'fql.query', query: 'SELECT  user_status,friends_status,user_photos,friends_photos,user_location,friends_location FROM  permissions WHERE uid=me()' }, function(resp) {   
for(var key in resp[0]) {   
    if(resp[0][key] === "1")   
     console.log(key+' is granted');   
    else   
     console.log(key+' is not granted');   
}   
}); 

PS: Auf der einen Beitrag Ich fand auch eine Lösung, die, dass die mitgeteilte der Lage war, um die Daten nach dem Löschen der App von seinem Facebook-Account zu erhalten und durch erneutes Hinzufügen zu testen. Stellen Sie außerdem sicher, dass Sie sich bei einem Wechsel der Berechtigungen im App-Dashboard vor dem Testen wieder von Ihrer Anwendung abmelden und erneut anmelden.

Ich verschwendete mehr als 3 Stunden versuchen, dieses Problem zu beheben und facebook Dokumentation hat mir nicht ein bisschen geholfen, so hoffe das jemand hilft!

1

Ich hatte auch dasselbe Problem beim Abrufen meiner Fotos von einem Album. löste dies, indem ich eine Berechtigung namens "user_status" in meinem Zugriffstoken hinzufügte.

6

Beachten Sie auch, dass es eine neue Benutzerberechtigung gibt, read_insights, die aktiviert werden muss, andernfalls wird das Lesen einer beliebigen /insights Flanke ohne Antwort fehlschlagen. Permission dialogue with read_insights highlighted