我正在使用PHP SDK来处理我的Facebook连接。一切都工作正常一段时间,但我的脚本突然停止工作。以下是发生的事情:
$facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true));
$user = $facebook->getUser();
if ($user) {
$permissions = $facebook->api('/me/permissions');
} else {
$params = array();
$params['scope'] = 'publish_actions,user_photos';
header('Location: ' . $facebook->getLoginUrl($params));
exit();
}
返回:致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。
错误是由行
引起的$permissions = $facebook->api('/me/permissions');
有什么建议吗?
答案 0 :(得分:0)
始终检查异常!这是一个简单的例子:https://developers.facebook.com/docs/reference/php/facebook-api/
$ user返回当前用户的用户ID,但不能保证用户不会同时注销或者他的令牌仍处于活动状态。所以不要只依靠这个,因为你有一个user_id,检查异常。您可以要求用户再次单击“登录”,或者只是在发生异常时自动将用户重定向到登录页面。
答案 1 :(得分:0)
你为什么不试试
$permissions = $facebook->api(
'/me/permissions ',
'GET',
array(
'access_token' => $_SESSION['active']['access_token']
)
);