在没有offline_access权限的情况下扩展访问令牌的有效性
自从Facebook的身份验证流程中弃用offline_access权限以来,扩展了访问令牌的有效性已成为一项挑战。尽管文档表明服务器端 OAuth 生成的访问令牌应该具有延长的有效期,但事实并非如此。
为了解决此问题,base_facebook.php 文件中添加了一个新函数。 getExtendedAccessToken() 函数允许开发者获取 60 天内过期的新访问令牌。
用法:
要使用此函数,只需添加以下内容将代码写入您的 base_facebook.php 文件并调用它:
public function getExtendedAccessToken(){ // OAuth request to obtain extended access token $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() ) ); }
重要提示:
必须在开发者应用程序的高级设置中启用“弃用offline_access”才能使用此功能。
更新了 SDK功能:
截至2012年8月14日,官方Facebook PHP SDK已更新。函数名称已更改为 setExtendedAccessToken,并且 SDK 现在将扩展访问令牌存储在持久数据中而不是返回它。要检索新的访问令牌,请使用 getAccessToken() 函数。
以上是在'offline_access”权限弃用后,如何延长 Facebook 访问令牌的有效性?的详细内容。更多信息请关注PHP中文网其他相关文章!