Pourquoi la méthode `getUser()` du SDK PHP de Facebook renvoie-t-elle 0 et comment puis-je y remédier ?

Barbara Streisand
Libérer: 2024-11-22 05:33:14
original
474 Les gens l'ont consulté

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

Pourquoi la méthode getUser() du SDK PHP Facebook renvoie-t-elle toujours 0 ?

Lorsque vous essayez de récupérer l'ID utilisateur de Facebook à l'aide de getUser() méthode du SDK PHP, de nombreux développeurs rencontrent le problème de recevoir constamment la valeur 0. Ce problème survient malgré l'autorisation correcte de l'application via le bouton de connexion fonctionnalité.

Une cause possible de ce problème réside dans la dépendance du framework à l'égard de la variable $_REQUEST. Cependant, l'environnement ne fusionne pas toujours automatiquement $_REQUEST avec les variables $_GET, $_POST et $_COOKIE. Cette différence peut entraver la capacité de la fonction getCode() à récupérer le code d'autorisation.

Solution :

Pour résoudre ce problème, modifiez la fonction getCode() dans base_facebook. php comme suit :

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;
}
Copier après la connexion

Cette modification garantit que la fonction getCode() vérifie correctement le code d'autorisation dans toutes les variables de requête possibles. Après avoir implémenté ce changement, la méthode getUser() devrait identifier correctement l'utilisateur Facebook connecté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal