Ich benutze die Grafik-API.
Ich habe einen angemeldeten Benutzer und möchte eine Liste der Seiten-IDs aller Seiten zurückerhalten, deren Administrator der Benutzer ist.
Gibt es eine Möglichkeit, dies zu tun? Die Dokumente sind ziemlich schlecht - und kreisförmig.
Antworten:
Es ist einfach mit Graph API. Schritte:
manage_pages
Berechtigung vom Benutzer (erweiterte Berechtigungen).Sie können dieses Verfahren im Diagramm-Explorer testen -> Klicken Sie einfach auf die Schaltfläche "Zugriffstoken abrufen" -> unter "Erweiterte Berechtigung" die Option "Verwaltungsseiten" überprüfen und senden. Sie erhalten die Admin-Seitendetails JSON.
quelle
Ich habe es mit etwas FQL gelöst:
FB.api({method: 'fql.multiquery', access_token: <access_token>, queries: { query1: 'select page_id from page_admin where uid = ' + <uid>, query2: 'select page_id, name, page_url from page where page_id in (select page_id from #query1)' } }, function(queries){ var pages = queries[1].fql_result_set; }}
quelle
Sie können anrufen,
FB.api(/me/accounts)
wenn Sie FQL nicht verwenden möchten.'Konten' ist eine Verbindung des Benutzerobjekts. Weitere Informationen finden Sie in der Dokumentation zu @ http://developers.facebook.com/docs/reference/api/user
Natürlich gibt es bei Facebook immer einen Haken. Derzeit gibt diese Methode nicht nur die Seiten zurück, auf denen der Benutzer Administrator ist, sondern auch die von ihm installierten Anwendungen. Ich bin mir fast sicher, dass dies NICHT das beabsichtigte Verhalten ist - ich erinnere mich an die Verwendung vor einigen Monaten und habe nur eine Liste von Seiten erhalten. In der Dokumentation werden auch Anwendungen in dieser Liste nicht erwähnt.
Dies ist jedoch ein leicht zu lösendes Problem. Facebook gibt den Namen, die Kategorie und die ID für jedes Element in der Liste zurück, und jede Anwendung hat die Kategorie "Anwendung". Ich stelle nur sicher, dass ich nur Elemente aufführe, deren Kategorie nicht "Anwendung" ist.
quelle
gehe zu dieser Adresse
Klicken Sie einfach auf Zugriffstoken abrufen und gehen Sie zu Erweiterte Berechtigung
Überprüfen Sie die manage_pages Checkbox
und klicken Sie auf Get Access Token
Dann schreiben Sie dies unter FQL
Klicken Sie auf Senden. und Sie erhalten alle Seitenlisten, die im Benutzeradministrator angemeldet sind
quelle
me/accounts
unterstützttype
werden?Sie fragen beim Anmelden nach der Erlaubnis mit dem JavaScript SDK
FB.login(function(){}, {perms:'manage_pages'});
Sobald sie sich angemeldet haben, können Sie die Seiten (und Apps) wie folgt abrufen:
FB.api('/me/accounts', function(response){ console.log(response); })
quelle
{perms: 'manage_pages'}
und{scope: 'manage_pages'}
?Sie können auch die Berechtigung "pages_show_list" verwenden, wenn Sie nur die Liste der Facebook-Seiten anzeigen möchten, deren Administrator der Benutzer ist.
Mit der Berechtigung "manage_pages" wird der Benutzer aufgefordert, seine Seiten zu verwalten. Dies kann je nach Bedarf zu aufdringlich sein.
quelle
Beachten Sie, dass Ihre Lösung sowohl Seiten als auch Anwendungen zurückgibt . Wenn Sie ausschließlich Seiten möchten, können Sie FQL Multiquery mit der folgenden Klausel "Type not equals" verwenden:
quelle
Genehmigung
Aktion
quelle
quelle
Verwenden Sie mit der neuen GRAPH-API v3 mit Javascript das Feld "Aufgaben" anstelle des Felds "Dauerwellen".
Anstatt im Array nach 'ADMINISTER' zu suchen, suchen Sie nach 'MANAGE'.
Vollständige Informationen hier: https://developers.facebook.com/docs/pages/access-tokens
quelle