ホームページ > バックエンド開発 > PHPチュートリアル > v2.2 から v2.3 にアップグレードした後、Facebook Graph API リクエストが機能しないのはなぜですか?

v2.2 から v2.3 にアップグレードした後、Facebook Graph API リクエストが機能しないのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-18 15:38:17
オリジナル
700 人が閲覧しました

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

2.2 から 2.3 へのアップグレード後の Facebook Graph API の問題のトラブルシューティング

問題:

ユーザーFacebook Graph API リクエストで結果が返されない、または間違ったデータが返されるという問題が発生しています。バージョン 2.2 から 2.3 にアップグレードしています。

原因:

この問題は、Facebook API バージョン 2.3 の OAuth アクセス トークン応答形式の変更に起因します。応答は URL エンコードではなく、有効な JSON 形式で返されるようになりました。

解決策:

この問題を解決するには、次の変更を行う必要があります。

OAuth アクセス トークンの応答を次のように解析しますJSON:

getAccessTokenFromCode 関数で、アクセス トークンの応答を JSON:

$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}
return $response->access_token;
ログイン後にコピー

Extend Access Token using JSON Response: として解析するようにコードを更新します。

同様に、setExtendedAccessToken を更新します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
);
ログイン後にコピー

ユーザーの誕生日の取得:

バージョン 2.3 では、ユーザーの誕生日は、グラフAPI。誕生日を取得するには、リクエストで「誕生日」フィールドを明示的に指定します。

https://graph.facebook.com/v2.3/{$user_id}?fields=id,name,birthday
ログイン後にコピー

これらの変更を実装した後、Graph API はバージョン 2.3 で期待どおりに機能するはずです。

以上がv2.2 から v2.3 にアップグレードした後、Facebook Graph API リクエストが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート