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 サイトの他の関連記事を参照してください。