Facebook PHP SDK:致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息

时间:2012-06-20 21:05:24

标签: facebook facebook-php-sdk

我正在使用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');

有什么建议吗?

2 个答案:

答案 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']
                )
            );