Das gibt mir ziemlich Kopfschmerzen. Ich habe eine Page-Tab-Anwendung, wo DB-Interaktion die Facebook-Benutzer-ID verwendet, um Daten zuzuordnen und zu speichern und auch um Benutzerberechtigungen zu überprüfen. Bis vor einer schwachen Zeit funktionierte alles gut, aber jetzt mit den bevorstehenden Dezember-Änderungen funktioniert dieses Setup nicht mehr:
config.php:
%Vor%index.php: enthält config.php und erhält die signierte Anfrage (nicht wichtig für die Frage
javascript.js: ruft den read-user-status.php auf und behandelt die Daten
read-user-status.php: gibt json-response, includes config.php und ruft den $ facebook - & gt; getUser () - Funktion, um die uid
zu erhaltenAuch wenn ich direkt nach dem Laden von der index.php aufgerufen werde, bekomme ich manchmal die uid und manchmal nicht. Strangulate genug muss ich normalerweise ein wenig warten, bis ich die Seite neu lade und dann funktioniert es wieder. Aber das ist nicht immer der Fall. Das alles ist nur sehr seltsam für mich.
BEARBEITEN: Sollte erwähnt haben, dass dieser Aufruf:
%Vor%gibt "AUSNAHME aus Ein aktives Zugriffstoken muss verwendet werden, um Informationen über den aktuellen Benutzer abzufragen."
Ich kenne da eine ganze Menge ähnlicher Fragen, aber keine der Antworten war hilfreich für mein spezielles (und wahrscheinlich auch für die neuen brechenden Änderungen) Problem.
EDIT2: Ich nehme an, dass es ein sdk-Bug ist ( Ссылка , danke zu CBroe). Empfehlungen für einen Workaround sind natürlich sehr willkommen.
EDIT 3, VORÜBERGEHENDE LÖSUNG Jedes Mal, wenn Sie eine Ajax-Anfrage machen, posten Sie das Token, das Sie vom FB.getLoginStatus oder FB.login bekommen, und lesen es in der PHP-Datei aus und stellen es über $ facebook - & gt; setAccessToken. Nicht unter allen Umständen geeignet (Sie müssen definitiv Post verwenden), ist langsamer und bringt einige Sicherheitsprobleme, funktioniert aber immer noch.
Klingt so, als ob Sie von dem Bug betroffen sind, den ich Anfang November gemeldet habe Ссылка
Sie haben es bestätigt und sagen, dass sie an einer Reparatur arbeiten - aber da die Änderung jetzt nur noch ein paar Tage entfernt ist, sollten sie sich ein wenig beeilen ...
Ich habe dafür einen Workaround gefunden, bis es behoben ist (was so aussieht, wird nicht pünktlich sein, bis die Änderungen stattfinden). Jedes Mal, wenn Sie eine Ajax-Anfrage machen, posten Sie das Token, das Sie vom FB.getLoginStatus oder FB.login bekommen, und lesen es in der PHP-Datei aus und stellen es über $ facebook - & gt; setAccessToken. Nicht unter allen Umständen geeignet (Sie müssen definitiv Post verwenden), ist langsamer und bringt einige Sicherheitsprobleme, funktioniert aber immer noch.
Tags und Links facebook-php-sdk