Facebook API: Melden Sie sich mit dem JavaScript SDK an und überprüfen Sie dann den Anmeldestatus mit PHP

8

Ich benutze das JavaScript-SDK von Facebook, um ein Login-Popup aufzurufen, wenn der Benutzer auf die Login-Schaltfläche klickt.

Der Code ist, wie Facebook in der Dokumentation angibt:

%Vor%

Ich kann auch FB.getLoginStatus() verwenden, um zu überprüfen, ob der Benutzer tatsächlich angemeldet ist und die Anwendung akzeptiert hat.

Nun möchte ich jedoch eine Funktion mit PHP ausführen. Soweit ich weiß, hat PHP $user , dem die UserID nach einer erfolgreichen Anmeldung zugewiesen wurde.

Das Problem ist, nachdem die JS-Anmeldung $user immer noch 0 ist. Ich stehe fest und ich kann nicht herausfinden, warum es nicht die richtige Benutzerkennung $user

zuweisen wird

Hier ist mein JS:

%Vor%

Und hier ist das PHP:

%Vor%     
user1386254 14.07.2013, 03:37
quelle

3 Antworten

4

Die Anmeldung mit dem JS SDK speichert die Anmeldedaten in den Facebook Cookies, während die Anmeldung mit dem PHP SDK die Daten in der PHP Sitzung speichert. Wenn Sie sich also mit dem JS SDK anmelden, wird das PHP SDK dies nicht bemerken.

Um sich mit dem PHP SDK mit den JS SDK-Daten anzumelden, müssen Sie Ihre PHP-Seite mit der signierten Anfrage im Abfrageparameter aufrufen:

%Vor%

Dann wird $facebook->getUser() Ihnen die Benutzer-ID in Ihrem PHP-Code geben.

    
Ale 08.10.2013 08:25
quelle
0

Wenn Sie das Facebook-Objekt in PHP initialisieren, versuchen Sie, den Parameter sharedSession auf true :

zu setzen %Vor%     
Ale 08.10.2013 10:12
quelle
0

Hier finden Sie ein Arbeitsbeispiel von

Ссылка

Beispielcode

%Vor%     
jakhaniya jayesh 05.03.2015 06:51
quelle