![](/img/trans.png)
[英]Put username in apache access_log with PHP and without HTTP auth
[英]New access token without redirect to auth log
修订的问题
我意识到使用以下响应: $facebook->api('/me?access_token='.$access_token)
将确定您是否需要新的访问令牌。 因此,我的问题可以简化为:
如果用户尚未取消对应用程序的授权,是否有一种FB批准的方法来获取新的访问令牌,而无需重定向到身份验证日志 ?
旧问题
正如这个问题所指出的,Facebook(离线)访问令牌由于各种原因而失效。 Facebook提供了此解决方案 ,用于重新授权和获取新的脱机访问令牌。
但是,该解决方案假定我想要以下行为:
然而,
如果您的应用获得了用户的授权,则可以使用以下javascript获取新的访问令牌:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
user_id = response.authResponse.userID;
access_token = response.authResponse.accessToken;
}
}
这不会提示用户重定向到身份验证日志。 Facebook的getLoginStatus
记录的简单内容。
除非用户登录Facebook,授权您的应用并访问您的页面,否则这当然是行不通的(出于我的目的,这种假设很好)。 但是,您可以请求offline_access
权限并存储新的访问密钥,以供以后使用。
我的问题是,理想情况下,这将在服务器端处理。 不幸的是,这个PHP的行为:
$access_token = $facebook->getAccessToken();
与Javascript SDK生成的访问令牌响应不同。 看到这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.