Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt die PHP SDK-Methode „getUser()' von Facebook 0 zurück und wie kann ich das beheben?

Warum gibt die PHP SDK-Methode „getUser()' von Facebook 0 zurück und wie kann ich das beheben?

Barbara Streisand
Freigeben: 2024-11-22 05:33:14
Original
525 Leute haben es durchsucht

Why Does Facebook's PHP SDK `getUser()` Method Return 0, and How Can I Fix It?

Warum gibt die getUser()-Methode des Facebook PHP SDK immer 0 zurück?

Beim Versuch, die Facebook-Benutzer-ID mit getUser() abzurufen Methode des PHP SDK haben viele Entwickler das Problem, dass sie ständig den Wert 0 erhalten. Dieses Problem tritt trotz ordnungsgemäßer Autorisierung der Anwendung über die Anmeldeschaltfläche auf Funktion.

Eine mögliche Ursache für dieses Problem liegt in der Abhängigkeit des Frameworks von der Variablen $_REQUEST. Allerdings führt die Umgebung möglicherweise nicht immer automatisch die Variablen $_REQUEST mit den Variablen $_GET, $_POST und $_COOKIE zusammen. Diese Diskrepanz kann die Fähigkeit der Funktion getCode() behindern, den Autorisierungscode abzurufen.

Lösung:

Um dieses Problem zu beheben, ändern Sie die Funktion getCode() in base_facebook. php wie folgt:

protected function getCode() {
    $server_info = array_merge($_GET, $_POST, $_COOKIE);

    if (isset($server_info['code'])) {
        if ($this->state !== null && isset($server_info['state']) && $this->state === $server_info['state']) {
            $this->state = null;
            $this->clearPersistentData('state');
            return $server_info['code'];
        } else {
            self::errorLog('CSRF state token does not match one provided.');
            return false;
        }
    }

    return false;
}
Nach dem Login kopieren

Diese Änderung stellt sicher, dass die Funktion getCode() ordnungsgemäß nach dem Autorisierungscode in allen möglichen Anforderungsvariablen sucht. Nach der Implementierung dieser Änderung sollte die Methode getUser() den angemeldeten Facebook-Benutzer korrekt identifizieren.

Das obige ist der detaillierte Inhalt vonWarum gibt die PHP SDK-Methode „getUser()' von Facebook 0 zurück und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage