首页 > 后端开发 > php教程 > Offline_Access 弃用后如何延长 Facebook 访问令牌的有效性?

Offline_Access 弃用后如何延长 Facebook 访问令牌的有效性?

Patricia Arquette
发布: 2024-11-26 06:33:10
原创
794 人浏览过

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

在 Offline_Access 弃用后扩展访问令牌有效性

问题:

在 Facebook 的身份验证流程中弃用 Offline_access 权限,在没有该许可的情况下检索长期访问令牌已成为一项挑战。尽管 Facebook 的文档指出服务器端 OAuth 令牌将长期有效,但事实并非如此。

解决方案:

Facebook 已更新 PHP SDK 以包含一个方法用于延长访问令牌的有效性。

更新了 SDK方法:

base_facebook.php 中添加了一个名为 setExtendedAccessToken 的公共函数。此函数返回一个有效期为 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板