ホームページ >バックエンド開発 >PHPチュートリアル >Offline_Access の廃止後に Facebook アクセス トークンの有効性を延長するにはどうすればよいですか?

Offline_Access の廃止後に Facebook アクセス トークンの有効性を延長するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-26 06:33:10874ブラウズ

How Can I Extend Facebook Access Token Validity After Offline_Access Deprecation?

Offline_Access の廃止後のアクセス トークンの有効性の延長

問題:

Facebook の認証フローにおける offline_access 権限の廃止に伴い、有効期間の長いアクセス トークンを取得せずにその許可が課題となっています。 Facebook のドキュメントには、サーバーサイド OAuth トークンの有効期間が長いと記載されていますが、実際はそうではありません。

解決策:

Facebook は、メソッドを含めるために PHP SDK を更新しました。アクセス トークンの有効期限を延長するため。

SDK を更新メソッド:

setExtendedAccessToken という名前のパブリック関数がbase_facebook.php に追加されました。この関数は、有効期限が 60 日の新しいアクセス トークンを返します。

使用法:

通常のアクセス トークンを受信した後、この関数を呼び出します。 getAccessToken パブリック関数を使用して、新しいトークンにアクセスできます。

拡張アクセス トークン関数:

public function getExtendedAccessToken(){

    try {
        $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) {
        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'];
}

注:

  • 詳細設定で「オフライン アクセスの廃止」が有効になっていることを確認してください。アプリ設定。
  • setExtendedAccessToken を呼び出して拡張トークンを取得します。
  • getAccessToken を使用して拡張トークンにアクセスします。

以上がOffline_Access の廃止後に Facebook アクセス トークンの有効性を延長するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。