it-swarm.com.de

Facebook Page Access Token - Laufen diese ab?

Ich baue eine App, mit der Benutzer ihre Facebook-Fanseiten verwalten können. Dies erfordert die folgenden zwei Zugriffstoken:

  1. Ein Benutzerzugriffstoken
  2. Ein Seitenzugriffstoken

Ich bin mit Benutzerzugriffs-Token ziemlich vertraut, aber nicht mit Seitenzugriffs-Token.

Weiß jemand, wie lange das Seitenzugriffstoken gültig ist? Alles, was ich auf der Facebook-Website finden kann, ist dieser knappe Absatz , der nichts über dessen Ablauf erwähnt.

Kann ich davon ausgehen, dass das Seitenzugriffstoken auch unbegrenzt gültig ist, wenn ich das Benutzerzugriffstoken mit der Berechtigung offline_access anfordert (es sei denn, der Benutzer ändert das Kennwort oder deaktiviert meine App manuell).

Ich frage, weil ich wissen möchte, wie oft ich die Facebook Graph API abfragen und Seitenzugriffstoken erwerben muss. Soll ich sie einfach einmal anfordern, wenn sich der Benutzer registriert? Oder sollte ich sie bei jedem sich ständig ändernden API-Aufruf anfragen? Letzteres ist offensichtlich belastender!

69
dbau

Seitentoken laufen ab, wenn das Zugriffstoken für den Benutzer abläuft, von dem das Seitentoken generiert wurde. Edit 6.28.2013: Wenn Sie den Benutzerzugriffstoken erweitern und ein neues Seitenzugriffstoken für den Benutzer erhalten, verfällt das Seitentoken nicht, es sei denn, der Benutzer deaktiviert Ihre App.

Der Offline-Zugriff ist nun veraltet, aber Sie dürfen ein Zugriffstoken auf 60 Tage erweitern. Wenn Sie das Zugriffstoken des Benutzers erweitern, werden die von diesem Benutzerkonto generierten Seitentoken erstellt ihr Ablauf wird auch entsprechend erweitert verfällt nicht (Stand 6.28.2013). Der Wert für die Seitentoken kann sich nach der Erweiterung ändern. Stellen Sie daher sicher, dass Sie nach dem Erweitern des Benutzertoken neue Seitentoken aus der /accounts-Diagrammverbindung des Benutzers abrufen.

Sie können diese Zugriffstoken einmal täglich verlängern. Daher sollten Sie die Zugriffstoken jeden Tag neu generieren, an dem der Benutzer mit Ihrer App interagiert.

Siehe https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokenshttps://developers.facebook.com/docs/facebook-login/access-tokens/# Erweiterunghttps://developers.facebook.com/docs/facebook-login/
https://developers.facebook.com/roadmap/offline-access-removal/https://developers.facebook.com/blog/post/2011/05/13/ How-to - Handle-abgelaufene Zugriffstoken/

42
rmarscher

Sie können ein Seitenzugriffstoken so erweitern, dass es niemals abläuft. Die Dokumentation ist etwas matschig, aber die folgenden Seiten enthalten sachdienliche Informationen, und Sie müssen offensichtlich ein Administrator der Seite sein. Beachten Sie Szenario 4 und 5 am zweiten Link.

https://developers.facebook.com/docs/reference/api/page/#page_access_tokenshttps://developers.facebook.com/roadmap/offline-access-removal/#page_access_token

Mit dem Diagramm-Explorer können Sie ganz einfach Token von Facebook abrufen. Mit dem Diagramm-Explorer können Sie auch das Token debuggen, das das Ablaufdatum auflistet. So können Sie überprüfen, dass es nie abläuft. Graph Explorer: https://developers.facebook.com/tools/Explorer

Klicken Sie auf die Schaltfläche Zugriffstoken abrufen, um Ihr Token abzurufen. Behalten Sie Ihre ID in der Abfrageleiste und hängen Sie/Konten einfach an Ihre ID an, so dass sie wie folgt aussieht: /123456789101112/accounts. Stellen Sie sicher, dass es sich um eine GET-Anforderung handelt (das Dropdown-Menü links neben der Abfrageleiste).

Dadurch werden alle Seiten abgerufen, für die Sie konfiguriert sind. Sie müssen dann eine GET-Anfrage stellen, um

/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN 

Ihre APP_ID und APP_SECRET finden Sie in den Anwendungsverwaltungseinstellungen. Verwenden Sie Ihr persönliches Zugriffstoken als letzten Parameter (EXISTING_ACCESS_TOKEN). Daraufhin wird ein persönlicher Zugriffstoken für 60 Tage zurückgegeben. Kopieren Sie dieses Token in die Access Token-Leiste, die sich oberhalb der Abfrageleiste befindet. Jetzt stellen Sie eine GET-Anfrage an USER_ID/accounts wie zu Beginn. Dadurch wird wieder eine Liste der Seiten angezeigt, für die Sie konfiguriert sind.

Diesmal verfallen jedoch die mit den Seiten aufgelisteten Seitentoken nicht. Sie können dies überprüfen, indem Sie ein Seitentoken in die Access Token-Leiste kopieren und auf die Schaltfläche Debug klicken. Dadurch erhalten Sie Details zu diesem Zugriffstoken, einschließlich der Ablaufzeit, die in diesem Fall niemals sein sollte.

UPDATE

Ich habe auch festgestellt, dass der Graph Explorer von Facebook manchmal mit dem Benutzerkontext verwechselt wird und nicht immer zuverlässig ist. Alternativen sind Fiddler oder Postman .

12
Simon.Ponder

Ich bin nicht sicher, ob Facebook Änderungen vorgenommen hat, um diese Fehler zu beheben oder nicht, aber es scheint, dass Benutzerzugriffstoken nicht verfallen, sobald dem Benutzer Seitenzugriffstoken gewährt werden. Basierend auf meinen Tests läuft der Fluss so ab:

  1. Benutzerzugriffstoken angefordert -> 60 Tage Benutzer-Token wird ausgegeben
  2. Angeforderte Seitenzugriffstoken -> Seitenzugriffstoken, die nie abgelaufen sind, und das erste Benutzerzugriffstoken wird so aktualisiert, dass es auch nicht abläuft.

Ich hoffe, das klärt die Verwirrung hier auf. Ich habe dies mit vielen verschiedenen Benutzern in unserer App getestet und sehe jedes Mal dasselbe. 

Wenn niemals Seitenzugriffstoken angefordert werden, läuft das ursprüngliche Benutzerzugriffstoken nach 60 Tagen ab. 

4
rvaldron

Das Facebook-Seitenzugriffstoken ist dem Benutzerzugriffstoken sehr ähnlich, mit der Ausnahme, dass "es den Benutzer annimmt" als Administrator der Seite und das Verwalten der Seite zulässt [verwaltungsseitige Berechtigung erforderlich]. 

Wenn der App Offline_access-Berechtigung erteilt wird, verfällt die Seite access_token NICHT (es sei denn, der Benutzer ändert das Kennwort oder deaktiviert die App manuell).

Verwenden Sie den folgenden Link, um die Details eines ausgestellten Zugriffstokens zu überprüfen. 

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

2
Robin
  • Standard-Zugriffstoken für Seiten sind nur von kurzer Dauer, daher verfallen sie in 1 oder 2 Stunden. Wenn Sie es länger halten wollen, müssen Sie den kurzlebigen Zugriff auf ein langlebiges Zugriffstoken verlängern, so dass es ungefähr 2 Monate dauert.
  • Die Berechtigung offline_access ist nun veraltet.
  • Das Zugriffstoken läuft nicht ab, wenn eine Benutzeränderung das Kennwort ist.

In einer anderen Frage erkläre ich Wie man den Seitenzugriffstoken erweitert .

1
FR6

Die Dokumentation zu Facebook (langlebige Seitenzugriffstoken) stimmt nicht mit der Realität überein. Die Dokumentation behauptet, dass Seitenzugriffstoken, die über erweiterte/langlebige Benutzerzugriffstoken erworben wurden, niemals verfallen. In der Realität verfallen diese Seitenzugriffstoken jedoch in 60 Tagen.

Siehe den Facebook-Bug: http://developers.facebook.com/bugs/461517520524921

1
rinogo

Sehen Sie dies https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token .__ Wenn Sie nach kurzer Zeit Zugriffstoken erhalten, erweitern Sie ihn auf einen längeren Zugriffstoken. Dies wird dies nicht tun expair nur für Seitenzugriffstoken. Siehe Szenario 5: Seitenzugriffstoken

1

Seitenzugriffstoken sind abgelaufen, wenn das Zugriffstoken des Benutzers abgelaufen ist. Sie können das Benutzerzugriffstoken auf bis zu 60 Tage verlängern, damit das Seitenzugriffstoken lange hält.

Schauen Sie sich mein Blog an und befolgen Sie die Schritt-für-Schritt-Anleitung, um erweiterte Zugriffstoken und die Fanpage-Zugriffstoken zu erhalten.

0
Thet Naing Swe