Maison >développement back-end >tutoriel php >Pourquoi mes requêtes API Facebook Graph ne fonctionnent-elles pas après la mise à niveau de la v2.2 vers la v2.3 ?

Pourquoi mes requêtes API Facebook Graph ne fonctionnent-elles pas après la mise à niveau de la v2.2 vers la v2.3 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-18 15:38:17700parcourir

Why Aren't My Facebook Graph API Requests Working After Upgrading from v2.2 to v2.3?

Dépannage des problèmes liés à l'API Facebook Graph après la mise à niveau de 2.2 vers 2.3

Problème :

Utilisateurs vous rencontrez des problèmes avec les requêtes de l'API Facebook Graph ne renvoyant aucun résultat ou des données incorrectes après la mise à niveau depuis la version 2.2 à 2.3.

Cause :

Le problème provient de modifications apportées au format de réponse du jeton d'accès OAuth dans la version 2.3 de l'API Facebook. La réponse est désormais renvoyée au format JSON valide au lieu d'être codée en URL.

Solution :

Pour résoudre ce problème, les modifications suivantes doivent être apportées :

Analyser la réponse du jeton d'accès OAuth en JSON :

Dans le getAccessTokenFromCode, mettez à jour le code pour analyser la réponse du jeton d'accès au format JSON :

$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}
return $response->access_token;

Extend Access Token Using JSON Response :

De même, mettez à jour la fonction setExtendedAccessToken pour utilisez la réponse JSON :

// ...

// Set access token using JSON response
$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}

$this->setPersistentData(
  'access_token', $response->access_token
);

Récupération de l'utilisateur Anniversaire :

Dans la version 2.3, l'anniversaire de l'utilisateur n'est plus inclus dans les champs par défaut renvoyés par l'API Graph. Pour récupérer l'anniversaire, précisez explicitement le champ "anniversaire" dans la requête :

https://graph.facebook.com/v2.3/{$user_id}?fields=id,name,birthday

Après avoir implémenté ces modifications, l'API Graph devrait fonctionner comme prévu dans la version 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!

Déclaration:
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