Ist es möglich, Facebook-Token mit extendAccessTokenIfNeeded in einer Android-App zu erweitern?

Ich denke, das könnte eine Menge Facebook / Android-Entwickler betreffen, und doch scheint es nicht so viele Diskussionen zu diesem Thema zu geben ...

Meine Frage

Hat jemand ein Token mit der Funktion extendAccessTokenIfNeeded erfolgreich aktualisiert? Wenn Sie Erfolg hatten, welche Version hat das Gerät (oder der Emulator) ausgeführt?

Hintergrund

Ich habe eine E-Mail von Facebook erhalten, dass die Berechtigung "offline_access" ab dem 1. Mai 2012 veraltet ist, und Facebook hat empfohlen, auf das neueste SDK zu aktualisieren. Fein.

Ich habe ein Upgrade auf das neueste SDK durchgeführt, die offizielle Facebook-App ist auf meinem Gerät installiert und (eventuell!) Single Sign On scheint in Ordnung zu sein. Ich erhalte 60-Tage-Token, was wieder in Ordnung ist.

Probleme begannen, als ich versuchte, extendAccessTokenIfNeeded (Kontextkontext, ServiceListener serviceListener) zu verwenden. Ich konnte es nicht schaffen, meine Token für eine längere Verfallszeit aufzufrischen. Ich habe 24 Stunden zwischen den Versuchen gewartet, aber der Token wurde nicht aktualisiert. Die einzige Möglichkeit, ein aktualisiertes Token zu erhalten, besteht darin, sich abzumelden und anzumelden. Dies geschah auch, als ich das Beispielprojekt "Hackbook" verwendete.

Die naheliegendste Antwort ist, dass ich etwas falsch mache, aber aFehlerbericht wurde an Facebook gesendet und sagte, dass ... "shouldExtendAccessToken fast immer false zurückgibt." Dieser Bericht hat die Priorität "Wunschliste".

Alternativen zum extendAccessTokenAsNeeded ()

In demFacebook-Dokumentation zur Offline_Access-Ablehnung Token können mithilfe der Graph-API erweitert werden. Dies hat jedoch dieNachteil der Notwendigkeit der "App Secret" in der URL enthalten sein. Ein Vorteil ist, dass der Benutzer die offizielle Facebook-App nicht auf seinem Gerät installieren muss.

Andere Ideen und Anliegen

Indem Sie die Funktion extendAccessTokenIfNeeded in Facebook.java so ändern, dass sie immer true zurückgibt, muss sie meiner Meinung nach einmal aktualisiert werden. (Der Grund, warum ich "denken" sage, ist, dass es das Verhalten nicht wiederholt und ich vermute, dass ich weitere 24 Stunden warten muss, bevor die Chance auf einen weiteren Erfolg besteht.)

Ich stelle fest, dass Hackbook benötigtAndroidHttpClient importiert werden. Dies ist nur für API 8 und höher verfügbar. Bedeutet dies, dass Facebook SSO (insbesondere Token-Aktualisierung) wahrscheinlich nur auf Geräten mit API 8 und höher funktioniert?

DasFacebook.apk im SDK enthalten ist ziemlich alt. Vielleicht werden die Token deshalb auf Emulatoren mit API 8 und höher nicht aktualisiert?

Und das alles betrifft nur diejenigen, die die offizielle Facebook-App installiert haben! Eine andere Methode muss für die Leute ohne die offizielle Facebook-App durchgeführt werden (beklage dich jetzt!)

Relevante Facebook-Links

Facebook-Android-SDK bei GitHub

Facebook Android Tutorial

Facebook offline_access Berechtigungsverfall

Facebook-Fehlerbericht

Verwandte Fragen zum Stapelüberlauf

Facebook 60-Tage-Zugriffstoken und veralteter Offline_Access

Facebook Access Token kann nicht erweitert werden

Wie würde offline_access nach dem 1. Mai funktionieren?

Facebook Access Token kann nicht erweitert werden

Schutz des App-Geheimnisses für die Verwendung von extendAccessToken (Java / Android)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage