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

问题描述 投票:2回答:2

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

有什么建议?

facebook facebook-php-sdk
2个回答
0
投票

始终检查异常!这是一个简单的例子:https://developers.facebook.com/docs/reference/php/facebook-api/

$ user返回当前用户的用户ID,但不能保证用户不会同时注销或者他的令牌仍处于活动状态。所以不要只依靠这个,因为你有一个user_id,检查异常。您可以要求用户再次单击“登录”,或者只是在发生异常时自动将用户重定向到登录页面。


0
投票

你为什么不试试

$permissions = $facebook->api(
                '/me/permissions ',
                'GET',
                array(
                    'access_token' => $_SESSION['active']['access_token']
                )
            );
© www.soinside.com 2019 - 2024. All rights reserved.