Facebook Graph API 2.3 の問題の解決
Graph API 2.3 のアップグレードにより、いくつかの予期せぬ問題が発生しました。 API 応答を取得できないことやユーザー データが欠落していることは、最も一般的なものの 1 つです。ただし、これらの問題を解決するには、バージョン 2.3 で導入された変更を理解する必要があります。
応答形式の変更
バージョン 2.3 では、「oauth/」の応答形式が変更されました。 access_token」エンドポイント。 URL エンコードされたデータの代わりに有効な JSON を返すようになりました。この変更は、Facebook SDK 3.2.2 のアクセス トークン解析メカニズムに影響します。
解決策
これを修正するには、SDK 内の「getAccessTokenFromCode」関数を変更する必要があります。応答を JSON として解析します。以下の更新されたコードは、この修正を示しています。
$response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } return $response->access_token;
追加の変更
public function setExtendedAccessToken() { try { // Get extended access token. $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), $params = array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type' => 'fb_exchange_token', 'fb_exchange_token' => $this->getAccessToken(), ) ); } catch (FacebookApiException $e) { // User revoked authorization. return false; } if (empty($access_token_response)) { return false; } $response = json_decode($access_token_response); if (!isset($response->access_token)) { return false; } $this->destroySession(); $this->setPersistentData( 'access_token', $response->access_token ); }
これらの更新と変更を実装することで、Facebook Graph API 2.3 で直面する問題を解決できます。
以上がアクセストークンとユーザーデータの欠落に関するFacebook Graph API 2.3の問題を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。