Résolution des problèmes de l'API Graph 2.3 de Facebook
La mise à niveau de l'API Graph 2.3 a entraîné des problèmes inattendus. L'impossibilité de récupérer les réponses de l'API et les données utilisateur manquantes sont parmi les plus courantes. Cependant, la solution à ces problèmes réside dans la compréhension des modifications introduites dans la version 2.3.
Changement de format de réponse
La version 2.3 a modifié le format de réponse pour le "oauth/ point de terminaison access_token". Il renvoie désormais un JSON valide au lieu des données codées en URL. Ce changement affecte le mécanisme d'analyse des jetons d'accès dans le SDK Facebook 3.2.2.
Solution
Pour remédier à cela, vous devez modifier la fonction "getAccessTokenFromCode" au sein du SDK pour analyser la réponse au format JSON. Le code mis à jour ci-dessous illustre ce correctif :
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } return $response->access_token;
Modifications supplémentaires
public function setExtendedAccessToken() { try { // Get extended access token. $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), $params = array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type' => 'fb_exchange_token', 'fb_exchange_token' => $this->getAccessToken(), ) ); } catch (FacebookApiException $e) { // User revoked authorization. return false; } if (empty($access_token_response)) { return false; } $response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } $this->destroySession(); $this->setPersistentData( 'access_token', $response->access_token ); }
En mettant en œuvre ces mises à jour et modifications, vous pouvez résoudre les problèmes rencontrés avec l'API Facebook Graph 2.3.
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!