v2.2 から v2.3 への移行後に Facebook Graph API が機能しない
Facebook の Graph API を v2.3 にアップグレードすると、開発者は、特定の API リクエストがデータを返さないという問題に遭遇しました。この記事では、発生した特定の問題を調査し、SDK の最新バージョンで導入された変更に基づいた解決策を提供します。
問題の説明
開発者は、API リクエストが以前にv2.2 では動作していましたが、v2.3 では結果が返されなくなりました。具体的には、次のリクエストが影響を受けます:
解決策
問題は変更に起因します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 サイトの他の関連記事を参照してください。