Der Scope “offline_access” ist im Dezember 2012 soszusagen abgeschafft worden. Für eine Übergangsphase haben “alte” Tokens noch eine unbegrenzte Gültigkeit. Details sind in der Facebook API Roadmap nachzulesen:
https://developers.facebook.com/roadmap/offline-access-removal/
Kurz zusammengefasst: Statt der unbegrenzt gültigen Tokens gibt es jetzt “short-lived” (1-2 Stunden) und “long-lived” (60 Tage) Tokens. Mit Hilfe eines “short-lived” Tokens kann man sehr einfach ein “long-lived” generieren (siehe “Scenario 4″), das aber nach 60 Tagen nicht zu verlängern ist – was für viele Scripte nach dem “single-user”-Konzept ein Problem darstellt. Hier werde ich mal über eine Lösung nachdenken müssen (und freue mich über Tipps und Hinweise).
Hilfreich ist vielleicht folgendes Vorgehen: Setzt man bei der App-Einstellung unter developers.facebook.com den „App Type“ auf „Native/Desktop“ (zu finden unter den „Fortgeschrittenen“ Einstellungen), dann erhält man automatisch ein „long-lived“ Token und muss dies dann immerhin nur alle 60 Tage erneuern.
Eine weitere Idee: Soweit ich das sehe verlängern sich “short-lived” Tokens bei Benutzung automatisch um einen Tag. Sorgt man also (z. B. über eine cronjob) dafür, dass das Script mind. 1x pro Tag aufgerufen wird, hat man letztendlich wieder ein unbegrenzt lang gültiges Token.
Übrigens: Für Scripte, die nur Pages verwalten wird das einfach: Hier hat Facebook eine Möglichkeit vorgesehen, unbegrenzt lange Tokens zu generieren (siehe “Scenario 5″).
Hallo Nexxo, den Scop „user_groups“ gibt es nicht mehr – wenn aber alles funktioniert kannst Du diese Fehlermeldung ignorieren.
Schöne Grüße, Simon
Leider kann ich die Funktion innerhalb der Componente ohne die „saubere Autorisierung“ nicht aktivieren ….
Hallo Jürgen,
ich möchte unter Joomla 3.4.xx und EasyBlog eine Verbindung zu Facebook herstellen so das meine Blogbeiträge aus Easyblog direkt in meine Fanpage portiert werden. Jedes mal wenn ich mich dann aus der Componente mit Facebook verbinden möchte kommt folgede Fehlermeldung:
“ … Invalid Scopes: user_groups. This message is only shown to developers. Users of your app will ignore these permissions if present. Please read the documentation for valid permissions at: https://developers.facebook.com/docs/facebook-login/permissions …..“
Ich kann leider so garnichts damit anfangen und weiß auch nicht wo ich da wo welche Einträge machen muss, damit das funktioniert. Kannst Du mir helfen?
Mit freundlichen Grüssen
Nexxo, Hamburg
hai nexxo, nein leider nicht. ich habe auch schon direkt bei Facebook nachgefragt. ich bekomme nicht mal mehr eine Antwort. Ich habe mich damit abgefunden und biete gar nicht mehr die Verbindung zu Facebook an. Dann halt nur Twitter.
greetz
Es scheint dann doch nicht so einfach zu sein. Ich denke, es ist besser, sich von FB zu verabschieden. Es scheint für einfache Anwender nicht handlebar zu sein.
Trotzdem Vielen Dank für Dein Angebot zu helfen.
mfg
Jürgen
Hallo Jürgen, ich hatte Deine Nachricht vom 1. Juni gar nicht erhalten und erst jetzt gelesen … ich sehe mir das gerne mal an und melde mich nochmals!
Vielen Dank
das ist ein fertiges chatsystem. mir scheint es auch nichts mit dem System zu tun zu haben, sondern mit irgendwelchen permissons von FB
Hallo Jürgen, leider kann ich den Fehler nicht reproduzieren bzw. vertehe nicht genau das Problem… Hast Du das Chat-System selbst programmiert oder ist das irgendeine fertige Lösung?
Hallo zusammen,
ich bin am verzweifeln. Mein Englisch ist erbärmlich: seit 01.04 bekomme ich folgende Meldung
Invalid Scopes: offline_access, xmpp_login, publish_stream. This message is only shown to developers. Users of your app will ignore these permissions if present. Please read the documentation for valid permissions at: https://developers.facebook.com/docs/facebook-login/permissions
und weiss nicht, wo ich es einstellen kann. Screenshots auf der Hilfeseite verweisen auf Einstellungen, die ich nicht habe.
Könnte mir bitte jemand helfen ?
Danke
Hallo Jürgen, ich helfe gerne – was soll den Deine App düfen, welche Berechtigung brauchst Du?
Hallo Simon, vielen vielen Dank für Deine Hilfe.
Es geht um einen Chat, wo ich mit dem Facebook Button Freunde einladen kann.
http://www.futzichat.de/php-fusion/123flashchat.php
Das geht auch, wenn ich mich nicht NICHT als Developer anmelde. Irgendwie muss die Permissions angepasst werden. Ich weiß noch nicht mal, ob ich das auf der Developer Seite oder auf meiner persönlichen Seite machen muss.
mfg
Jürgen
So ganz verstanden habe ich das noch nicht mit den long-live / short-live Tokens.
Ich habe mir mit dem Programm einen Token erzeugt, und kann damit per PHP Events in fb anlegen – super soweit.
Nun soll das ganze aber laufen, ohne dass ich dabei bin, also vollautomatisch aus meinem Web-Programm heraus. Habe mich also versuchsweise von fb abgemeldet – und schwupps gilt der Token nicht mehr. Ist das richtig?
Logge ich sofort wieder ein, dann gilt er auch nicht mehr, auch dann nicht, wenn alles innerhalb weniger Minuten passiert, also der Timeout von 1-2 Stunden kann nicht der Grund sein.
Hallo Macro, das ist merkwürdig. Der Token sollte eigentlich weiterhin funktionieren, auch wenn Du Dich ausloggst. Verwendest Du einen Token eines Users oder einer Seite?
Wie lautet denn der Code für die Prüfung des Access-Token in VB?
Danke
Gruß
André
Hallo Andre, ungefähr so sieht das aus:
GraphURL = „https://graph.facebook.com/“ _
& „/debug_token?input_token=“ & InputToken
& „&access_token=“ & AccessToken
Hallo,
besteht die Möglichkeit, den AccessToken mit Facebook zu erzeugen, wenn der Benutzername und das Passwort in PHP hinterlegt ist?
Hallo, theoretisch würde das gehen, widerspricht jedoch der Idee von OAuth und ist deshalb für die Facebook-API eigentlich nicht vorgesehen. Laut FB API Nutzungsbedingungen ist es auch nicht gestattet, fremde FB Usernamen und Passwörter zu speichern – mit dem eigenen könnte man das jedoch machen. Jedoch wäre es sehr aufwendig, man müsste mit PHP den ganzen Login-Prozess simulieren – vielleicht ist es deshalb doch einfacher, den Token zu speichern?
Hallo,
zu erst einmal, super blog! 😉
Klappt alles bestens, danke. 🙂
Jedoch ist meine frage, gibt es eine möglichkeit durch php, den access token zu überprüfen ob der noch gültig ist? Damit ich weiß, bzw. der Administrator, dass er erneuert werden muss?
Hallo Tim,
Danke 🙂
Ja, man kann das Access-Token prüfen:
GET /debug_token?input_token={input-token}&access_token={access-token}
Details siehe Abschnitt „Getting Info about Tokens and Debugging“
https://developers.facebook.com/docs/facebook-login/access-tokens/
Ich hoffe, das hilft weiter?