Nach den Anweisungen in der Dokumentation zu den erweiterten Seitentoken von Facebook konnte ich ein Seitenzugriffstoken erhalten, das nicht abläuft.
Ich empfehle, für alle diese Schritte den Graph API Explorer zu verwenden, sofern nicht anders angegeben.
0. Erstellen Sie eine Facebook-App
Wenn Sie bereits eine App haben , fahren Sie mit Schritt 1 fort.
- Gehen Sie zu Meine Apps .
- Klicken Sie auf "+ Neue App hinzufügen".
- Richten Sie eine Website-App ein.
Sie müssen die Berechtigungen nicht ändern. Sie benötigen lediglich eine App, die nicht verschwindet, bevor Sie mit Ihrem Zugriffstoken fertig sind.
1. Holen Sie sich das User Short-Lived Access Token
- Wechseln Sie zum Graph API Explorer .
- Wählen Sie die Anwendung aus, für die Sie das Zugriffstoken erhalten möchten (im Dropdown-Menü "Anwendung", nicht im Menü "Meine Apps").
- Klicken Sie auf "Token abrufen"> "Benutzerzugriffstoken abrufen".
- Aktivieren Sie im Popup auf der Registerkarte "Erweiterte Berechtigungen" die Option "Verwaltungsseiten".
- Klicken Sie auf "Get Access Token".
- Gewähren Sie Zugriff von einem Facebook-Konto, das Zugriff auf die Verwaltung der Zielseite hat. Beachten Sie, dass, wenn dieser Benutzer den Zugriff verliert, das endgültige, nie ablaufende Zugriffstoken wahrscheinlich nicht mehr funktioniert.
Das Token, das im Feld "Zugriffstoken" angezeigt wird, ist Ihr kurzlebiges Zugriffstoken.
2. Generieren Sie ein langlebiges Zugriffstoken
Befolgen Sie diese Anweisungen aus den Facebook-Dokumenten und senden Sie eine GET-Anfrage an
https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id} & client_secret = {app_secret} & fb_exchange_token = {short_lived_token}
Geben Sie die ID und das Geheimnis Ihrer App sowie das kurzlebige Token ein, das im vorherigen Schritt generiert wurde.
Sie können den Graph API Explorer nicht verwenden . Aus irgendeinem Grund bleibt es bei dieser Anfrage hängen. Ich denke, das liegt daran, dass die Antwort nicht JSON ist, sondern eine Abfragezeichenfolge. Da es sich um eine GET-Anfrage handelt, können Sie einfach die URL in Ihrem Browser aufrufen.
Die Antwort sollte folgendermaßen aussehen:
{"access_token": " ABC123 ", "token_type": "bearer", "expires_in": 5183791}
"ABC123" ist Ihr langlebiges Zugriffstoken. Sie können es zur Überprüfung in den Access Token Debugger einfügen. Unter "Läuft ab" sollte es so etwas wie "2 Monate" haben.
3. Benutzer-ID abrufen
Stellen Sie mithilfe des langlebigen Zugriffstokens eine GET-Anforderung an
https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}
Das id
Feld ist Ihre Konto-ID. Sie benötigen es für den nächsten Schritt.
4. Holen Sie sich ein permanentes Seitenzugriffstoken
Stellen Sie eine GET-Anfrage an
https://graph.facebook.com/v2.10/ {account_id} / accounts? access_token = {long_lived_access_token}
Die JSON-Antwort sollte ein data
Feld enthalten, unter dem sich ein Array von Elementen befindet, auf die der Benutzer Zugriff hat. Suchen Sie das Element für die Seite, von der aus Sie das permanente Zugriffstoken erhalten möchten. Das access_token
Feld sollte Ihr permanentes Zugriffstoken haben. Kopieren Sie es und testen Sie es im Access Token Debugger . Unter "Läuft ab" sollte "Nie" stehen.