ホームページ >バックエンド開発 >PHPチュートリアル >Offline_access の廃止後に長期有効な Facebook アクセス トークンを取得するにはどうすればよいですか?
Offline_access 廃止後の長期アクセス トークン
Facebook による offline_access 権限の廃止により、長期有効のアクセス トークンの取得が妨げられています。ドキュメントではサーバー側の OAuth トークンが拡張されると主張していますが、実際は異なります。
解決策
有効期間の長いアクセス トークンを取得するには、extendedAccessToken () を利用します。メソッド:
パブリック関数getExtendedAccessToken(){
try { // need to circumvent json_decode by calling _oauthRequest // directly, since response isn't JSON format. $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type'=>'fb_exchange_token', 'fb_exchange_token'=>$this->getAccessToken() ) ); } catch (FacebookApiException $e) { // most likely that user very recently revoked authorization. // In any event, we don't have an access token, so say so. return false; } if (empty($access_token_response)) { return false; } $response_params = array(); parse_str($access_token_response, $response_params); if (!isset($response_params['access_token'])) { return false; } return $response_params['access_token'];
}
機能を確保するには、開発者アプリの詳細設定で「deprecate offline_access」を必ず有効にしてください。通常のアクセス トークンを受信した後にこのメソッドを呼び出して、60 日間の有効期限を持つ有効なトークンを取得します。
以上がOffline_access の廃止後に長期有効な Facebook アクセス トークンを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。