Hauptziel: Wie kann ich ein Zugangstoken mit unbegrenzter Gültigkeit für eine Facebook-App erhalten?
Hintergrundinformationen
Wir haben eine FB-App namens MyApp mit folgendem Aufbau:
Unser Ziel ist es, die Insights-Daten automatisch zu extrahieren, z. einmal in der Nacht.
Versuch mit einem oApp generierten App-Token
Erhalte APP_ACCESS_TOKEN, die zu MyAPP gehören
graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials
Beispiel eines eingezogenen Tokens: 328467452729456598 | Wn2Gt69Ofg5ySdOGa3TsP2p4R
Verwenden Sie APP_ACCESS_TOKEN, um PAGE_ACCESS_TOKEN für jede Seite zu erhalten graph.facebook.com/me/accounts?access_token=APP_ACCESS_TOKEN
Verwenden Sie PAGE_ACCESS_TOKEN, um die Insights-Daten der Seite abzurufen: graph.facebook.com/YOUR_APP_ID/insights?access_token=PAGE_ACCESS_TOKEN
Mein Problem ist, dass die APP_ACCESS_TOKEN, die ich von Schritt 1 bekomme, den Benutzerteil des Tokens zu vermissen scheint, was zu dem folgenden Fehler führt, wenn ich Schritt 2 ausführe:
%Vor%Versuch mit Token, die aus dem Graph-Explorer-API-Token abgerufen wurden
Wenn ich den APP_ACCESS_TOKEN benutze, der durch den Graph API Explorer (https://developers.facebook.com/tools/explorer) gewonnen wurde, erhalte ich einen Token mit dem Benutzerteil, der wesentlich länger ist. Wenn ich dieses Token in Schritt 2 und 3 verwende, erhalte ich korrekte Daten, aber alle Token sind nur für 2 Stunden gültig und können anschließend nicht für den automatischen Abruf von Erkenntnisdaten verwendet werden.
Versuch, kurzlebige Token gegen langlebige Token auszutauschen
Nach den Schritten in diesem Leitfaden: Ссылка habe ich versucht, einen kurzen Text auszutauschen lebte Token für einen längerlebigen.
Wenn ich versuche, das vom oauth-Prozess erhaltene Token auszutauschen, bekomme ich den Fehler:
%Vor%Wenn ich das Token verwende, das man manuell vom Graph-Explorer in der Exchange-Methode erhält, kann ich auch die anderen Schritte ausführen, aber für wie lange hält dieses neue Token? Wenn das Token nach x Tagen oder nach irgendeinem anderen Ereignis abläuft, würde ich immer noch mit dem Problem konfrontiert sein, das initiale Token programmatisch zu erhalten (im Gegensatz zu manuell alle aus dem Graph-Explorer).
Weiß jemand also, wie ich einen langlebigen, automatisch abgerufenen Token bekommen kann, um das zu lösen?
Danke!
In Schritt 2 müssen Sie die access_token
des Benutzers verwenden, um auf den Endpunkt /accounts
API zuzugreifen. Sie können das App Access Token hier nicht verwenden.
Was Sie tun sollten, ist:
/accounts
auf, um ein Long-Live-Seitenzugriffstoken zu erhalten Tags und Links facebook-graph-api