Ich denke, das eine Menge von Facebook/Android-Entwickler bewirken könnte und doch scheint es nicht so viel Diskussion über das Thema zu sein ...Können Facebook-Tokens mit extendAccessTokenIfNeeded in einer Android-App erweitert werden?
Meine Frage
hat erfolgreich ein jemand aufgefrischt Token mit der Funktion extendAccessTokenIfNeeded? Wenn Sie Erfolg hatten, in welcher Version wurde das Gerät (oder der Emulator) ausgeführt?
Hintergrund
erhielt ich eine E-Mail von Facebook die offline_access Erlaubnis sagen, wird von 1. Mai 2012 und Facebook empfohlen Upgrade auf ihre neuesten SDK veraltet. Fein.
Ich habe das neueste SDK aktualisiert, die offizielle Facebook App ist auf meinem Gerät installiert und (irgendwann!) Scheint Single Sign On zu funktionieren. Ich erhalte 60 Tage Tokens, die wieder in Ordnung sind.
Probleme gestartet, als ich versuchte, extendAccessTokenIfNeeded (Kontext Kontext, ServiceListener serviceListener) zu verwenden. Ich konnte es nicht bekommen, um meine Tokens für eine längere Ablaufzeit zu aktualisieren. Ich habe 24 Stunden zwischen den Versuchen gewartet, aber das Token wurde nicht aktualisiert. Die einzige Möglichkeit, ein aktualisiertes Token zu erhalten, besteht darin, sich abzumelden und einzuloggen. Dies geschah auch, als ich das Beispielprojekt "Hackbook" verwendete.
Die offensichtlichste Antwort ist, dass ich etwas falsch mache, aber, ein bug report wurde an Facebook gesendet, sagend, dass ... "sollteExtendAccessToken praktisch fast immer falsch zurückgeben." Dieser Bericht wurde mit der Priorität "Wunschliste" versehen.
Alternativen zum extendAccessTokenAsNeeded()
In den Facebook documentation about offline_access deprecation Token können unter Verwendung der Graph API erweitert werden. Dies hat jedoch die disadvantage of needing the "App Secret" in der URL enthalten. Ein Vorteil ist, dass der Benutzer die offizielle Facebook-App nicht auf seinem Gerät installiert haben muss.
Andere Ideen und Anliegen
Durch die extendAccessTokenIfNeeded Funktion in Facebook.java Wechsel treu immer wieder zurückkehren, ich glaube, ich habe es einmal zu aktualisieren. (Der Grund, warum ich „denken“, sagen ist, weil es nicht das Verhalten wiederholen und ich vermute, ich muss weitere 24 Stunden warten, bevor irgendeine Wahrscheinlichkeit eines weiteren Erfolg)
Ich bemerke, dass Hackbook AndroidHttpClient erfordert importiert werden. Dies ist nur für API 8 und höher verfügbar. Heißt das , dass Facebook SSO (insbesondere Token-Aktualisierung) nur auf Geräten mit API 8 und höher funktioniert?
Die Facebook.apk included in the SDK ist ziemlich alt. Vielleicht werden die Token deshalb nicht auf Emulatoren aktualisiert, auf denen API 8 und höher ausgeführt wird?
Und schließlich bezieht sich das alles nur auf jene Leute, die die offizielle Facebook-APP installiert haben! Für die Leute ohne die offizielle Facebook-App muss eine andere Methode abgeschlossen werden (beschweren Sie sich jetzt!
)
Relevante Links Facebook
Facebook-Android-SDK at GitHub
Facebook offline_access permission deprecation
Verwandte Stack Overflow Fragen
Facebook 60 day access token and Deprecated Offline_Access
Facebook access token can not be extended
How would offline_access work after deprecation after May 1st?
Facebook access token can not be extended
Protecting app secret for extendAccessToken usage (Java/Android)
"Indem ich die extendAccessTokenIfNeeded-Funktion in Facebook.java ändere, um immer true zurück zu geben, denke ich, dass ich sie einmal auffrische. Der Grund, warum ich" Think "sage, ist, dass das Verhalten nicht wiederholt wird Warten Sie weitere 24 Stunden, bevor Sie wieder einen Erfolg haben.) "Haben Sie erneut getestet? – nmr