ホームページ > バックエンド開発 > PHPチュートリアル > v2.2 から v2.3 に移行した後に Facebook Graph API が失敗するのはなぜですか?

v2.2 から v2.3 に移行した後に Facebook Graph API が失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-12-25 14:38:14
オリジナル
772 人が閲覧しました

Why is My Facebook Graph API Failing After Migrating from v2.2 to v2.3?

v2.2 から v2.3 への移行後に Facebook Graph API が機能しない

Facebook の Graph API を v2.3 にアップグレードすると、開発者は、特定の API リクエストがデータを返さないという問題に遭遇しました。この記事では、発生した特定の問題を調査し、SDK の最新バージョンで導入された変更に基づいた解決策を提供します。

問題の説明

開発者は、API リクエストが以前にv2.2 では動作していましたが、v2.3 では結果が返されなくなりました。具体的には、次のリクエストが影響を受けます:

  • /me/albums with field=albums
  • /me (フィールドが指定されていない場合) (ユーザーの誕生日の取得に使用されます)

解決策

問題は変更に起因しますv2.3 で、OAuth アクセス トークン エンドポイントによって返される JSON 応答の形式に合わせて作成されました。 SDK バージョン 3.2.2 では、getAccessTokenFromCode() 関数が JSON 応答をオブジェクトではなく配列として誤って解析し、その結果、誤ったユーザー アクセス トークンが取得されます。

この問題を解決するには、getAccessTokenFromCode( ) JSON 応答を解析するには関数を更新する必要があります正しく:

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

拡張アクセス トークンの追加更新

拡張アクセス トークンを使用するアプリの場合、setExtendedAccessToken() で同様の変更が必要です。 function:

//Version 2.3 and up.
$response = json_decode($access_token_response);
if (!isset($response->access_token)) {
  return false;
}

$this->destroySession();

$this->setPersistentData(
  'access_token', $response->access_token
);
ログイン後にコピー

結論

JSON 応答解析における前述の変更に対処することで、開発者は API リクエストが Facebook の Graph API v2 で期待どおりに機能することを確認できます。 3.

以上がv2.2 から v2.3 に移行した後に Facebook Graph API が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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