Facebook PHP SDK - getUser () gibt plötzlich 0 zurück

8

Zunächst habe ich stundenlang in StackOverflow die Antworten auf diese Frage durchgesehen und versucht, es selbst zu lösen, aber es funktioniert einfach nicht mehr (mehr). Also trotzdem ...

Gestern hat alles gut funktioniert. Ging ins Bett, wachte auf, Login mit Facebook funktionierte nicht mehr auf 2 meiner Webseiten. Der Login-Link schickt mich auf die Facebook-Seite, auf der ich die App genehmigen muss, aber nachdem sie mich auf die Seite weitergeleitet hat, meldet sie mich nicht mehr an. Ich habe das Problem schnell verfolgt, da getUser () immer 0 zurückgibt Richte eine neue (Test-) App mit einem sehr einfachen Code ein, um zu sehen, ob das funktioniert. Es tut es nicht. Hier ist der Code:

%Vor%

Die zweite Antwort in hier hat mich erwischt Auge. Ich habe diese Lösung ausprobiert und es hat nicht funktioniert, also habe ich base_facebook.php geöffnet und bin zu der Zeile gescrollt, wo dieser 'Code' an eine Variable übergeben wurde - Zeile 458:

  

$ code = $ this- & gt; getCode ();

Ich habe dies gechattet und den Code-Parameter, der von der URL übergeben wurde, korrekt angezeigt. Die problematische Zeile entpuppt sich als die eine Zeile darunter:

  

$ access_token = $ this- & gt; getAccessTokenFromCode ($ code);

Diese Funktion gibt einen Wert von false an $ access_token zurück, wenn die Variable $ code übergeben wird. In dieser Funktion löst dieser Teil des Codes eine Ausnahme aus:

%Vor%

print_r ($ e) zeigt einen riesigen Klumpen Kauderwelsch (ich bin ein wenig noob, so dass ich fast nichts davon lesen kann, das Sinn macht). Das einzige, was ich darin wiederhole, ist

  

SSL-Zertifikat Problem, überprüfen Sie, ob das CA-Zertifikat in Ordnung ist. Details: Fehler: 14090086: SSL

Und so weit bin ich mit der Fehlersuche gekommen. Jede Hilfe wird geschätzt. Noch einmal, gestern hat alles gut funktioniert. Heute, ohne eine einzige Codezeile geändert zu haben, funktioniert es nicht mehr. Mind boggling = (Oh ja, ich betreibe WAMP mit PHP 5.4.3

BEARBEITEN: Hier ist die Fehlermeldung: Ссылка

EDIT2: Gelöst:

Fügen Sie in base_facebook.php die folgenden 2 Zeilen unter $ CURL_OPTS hinzu:

%Vor%

Was macht es ...

%Vor%

Ich bin mir nicht sicher, was ein Sicherheitsproblem ist, aber es macht das Login mit Facebook funktioniert, also da haben Sie es (und da habe ich es. Ganzer Tag verloren, fml). ​​

>

EDIT3: Neues SDK veröffentlicht, das dieses Problem behebt: Ссылка

    
GTCrais 27.11.2012, 17:16
quelle

4 Antworten

8

Fügen Sie in base_facebook.php die folgenden 2 Zeilen unter $ CURL_OPTS hinzu:

%Vor%

Was macht es ...

%Vor%

Ich bin mir nicht sicher, was ein Sicherheitsproblem ist, aber es macht das Einloggen mit Facebook funktioniert, also haben Sie es.

EDIT: Neues SDK veröffentlicht, das dieses Problem behebt: Ссылка

    
GTCrais 27.11.2012, 19:50
quelle
1
___ qstntxt ___

Zunächst habe ich stundenlang in StackOverflow die Antworten auf diese Frage durchgesehen und versucht, es selbst zu lösen, aber es funktioniert einfach nicht mehr (mehr). Also trotzdem ...

Gestern hat alles gut funktioniert. Ging ins Bett, wachte auf, Login mit Facebook funktionierte nicht mehr auf 2 meiner Webseiten. Der Login-Link schickt mich auf die Facebook-Seite, auf der ich die App genehmigen muss, aber nachdem sie mich auf die Seite weitergeleitet hat, meldet sie mich nicht mehr an. Ich habe das Problem schnell verfolgt, da getUser () immer 0 zurückgibt Richte eine neue (Test-) App mit einem sehr einfachen Code ein, um zu sehen, ob das funktioniert. Es tut es nicht. Hier ist der Code:

%Vor%

Die zweite Antwort in hier hat mich erwischt Auge. Ich habe diese Lösung ausprobiert und es hat nicht funktioniert, also habe ich base_facebook.php geöffnet und bin zu der Zeile gescrollt, wo dieser 'Code' an eine Variable übergeben wurde - Zeile 458:

  

$ code = $ this- & gt; getCode ();

Ich habe dies gechattet und den Code-Parameter, der von der URL übergeben wurde, korrekt angezeigt. Die problematische Zeile entpuppt sich als die eine Zeile darunter:

  

$ access_token = $ this- & gt; getAccessTokenFromCode ($ code);

Diese Funktion gibt einen Wert von false an $ access_token zurück, wenn die Variable $ code übergeben wird. In dieser Funktion löst dieser Teil des Codes eine Ausnahme aus:

%Vor%

print_r ($ e) zeigt einen riesigen Klumpen Kauderwelsch (ich bin ein wenig noob, so dass ich fast nichts davon lesen kann, das Sinn macht). Das einzige, was ich darin wiederhole, ist

  

SSL-Zertifikat Problem, überprüfen Sie, ob das CA-Zertifikat in Ordnung ist. Details: Fehler: 14090086: SSL

Und so weit bin ich mit der Fehlersuche gekommen. Jede Hilfe wird geschätzt. Noch einmal, gestern hat alles gut funktioniert. Heute, ohne eine einzige Codezeile geändert zu haben, funktioniert es nicht mehr. Mind boggling = (Oh ja, ich betreibe WAMP mit PHP 5.4.3

BEARBEITEN: Hier ist die Fehlermeldung: Ссылка

EDIT2: Gelöst:

Fügen Sie in base_facebook.php die folgenden 2 Zeilen unter $ CURL_OPTS hinzu:

%Vor%

Was macht es ...

%Vor%

Ich bin mir nicht sicher, was ein Sicherheitsproblem ist, aber es macht das Login mit Facebook funktioniert, also da haben Sie es (und da habe ich es. Ganzer Tag verloren, fml). ​​

>

EDIT3: Neues SDK veröffentlicht, das dieses Problem behebt: Ссылка

    
___ answer20211021 ___

Ich hatte das gleiche Problem. Es stellte sich heraus, dass ich localhost verwendete . Obwohl der Zugriffserlaubnis-Dialog auf Facebook erschien und ich auf meine Webseite zurückgeleitet wurde, gab getUser immer noch Null zurück.

  

Meine Lösung

Nachdem ich meinen Code hochgeladen und online getestet habe , sind angemessene Facebook-Fehler aufgetreten, die meine "App Domains" und "Site URL" auf relevante Werte für meine Seite geändert haben Online-Test-Website NICHT localhost. Und dann hat es funktioniert!

    
___ answer 14852997 ___

Ich denke, Sie müssenAccessToken () setzen, bevor Sie irgendwelche Facebook-Methoden aufrufen, selbst wenn die Anwendung Ihre App autorisiert hat und angemeldet ist.

    
___ tag123facebook ___ Mit der Facebook Platform können Entwickler ihre Apps direkt in den sozialen Netzwerkdienst von Facebook integrieren. Verwenden Sie dieses Tag für Fragen, die bei der Entwicklung von FOR Facebook auftreten können. Dieses Tag ist NICHT für Support-Fragen zur Nutzung der Facebook-Website oder der offiziellen Facebook-App gedacht. Es ist auch NICHT für Fragen der "Ich möchte ein Feature ähnlich wie Facebook hat" implementieren. ___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ tag123facebookphpsdk ___ Das Facebook PHP-SDK bietet Facebook-Plattform-Unterstützung für Ihre PHP-basierten Web-Anwendungen. ___ answer21536670 ___

Ich hatte dieses Problem, das sich als ein beschädigtes Zertifikat herausstellte. Ich glaube, ich hatte in Git Autoclf eingeschaltet. Ich weiß nicht, ob das repariert wurde oder nicht, aber das Wegblasen meines ganzen Repos und das erneute Klonen von der Quelle verursachte dieses Problem, um es zu beseitigen!

    
___ tag123facebooklogin ___ Facebook-Login ist eine beliebte Anmeldemethode für viele Websites mit Facebook-Anmeldeinformationen. ___ qstnhdr ___ Facebook PHP SDK - getUser () gibt plötzlich 0 zurück ___ answer13591911 ___

Fügen Sie in base_facebook.php die folgenden 2 Zeilen unter $ CURL_OPTS hinzu:

%Vor%

Was macht es ...

%Vor%

Ich bin mir nicht sicher, was ein Sicherheitsproblem ist, aber es macht das Einloggen mit Facebook funktioniert, also haben Sie es.

EDIT: Neues SDK veröffentlicht, das dieses Problem behebt: Ссылка

    
___
Alisson Reinaldo Silva 13.02.2013 11:55
quelle
0

Ich hatte das gleiche Problem. Es stellte sich heraus, dass ich localhost verwendete . Obwohl der Zugriffserlaubnis-Dialog auf Facebook erschien und ich auf meine Webseite zurückgeleitet wurde, gab getUser immer noch Null zurück.

  

Meine Lösung

Nachdem ich meinen Code hochgeladen und online getestet habe , sind angemessene Facebook-Fehler aufgetreten, die meine "App Domains" und "Site URL" auf relevante Werte für meine Seite geändert haben Online-Test-Website NICHT localhost. Und dann hat es funktioniert!

    
ChelaTheGreat 26.11.2013 07:32
quelle
0

Ich hatte dieses Problem, das sich als ein beschädigtes Zertifikat herausstellte. Ich glaube, ich hatte in Git Autoclf eingeschaltet. Ich weiß nicht, ob das repariert wurde oder nicht, aber das Wegblasen meines ganzen Repos und das erneute Klonen von der Quelle verursachte dieses Problem, um es zu beseitigen!

    
Brad 03.02.2014 20:06
quelle