无法运行facebook FQL两次:需要抛出用户会话 - PHP

时间:2014-10-13 20:21:50

标签: php facebook sdk facebook-fql

我的Facebook应用程序突然停止工作,我运行此FQL一次,但如果我尝试运行它两次它返回错误:

Fatal error: Uncaught Exception: Requires user session thrown in

这是我的功能:

function get_top_fb_friends()
{
    require_once 'src/facebook.php';

    require('facebook_api_connect.php');

    $accessToken = $facebook->getAccessToken();

    $params = array('method' => 'fql.query',
            'query' => 'SELECT uid, pic_square, name 
             FROM user 
             WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
             ORDER BY mutual_friend_count DESC','access_token'=>$accessToken);

    $friend_array = $facebook->api($params);

    return $friend_array;
}

我尝试添加访问令牌,但第二次仍然失败。

它似乎与此处描述的问题相同:

FQL Error 102 Requires user session on a repeated query

我不知道如何让它发挥作用!

1 个答案:

答案 0 :(得分:0)

如果您没有实施Facebook登录,那么您将从

收到访问令牌
$accessToken = $facebook->getAccessToken();

很可能是App Access令牌,对于请求您想要的信息无效。此外,您需要user_friends权限,并且显然您使用旧版本的SDK,因为'method' => 'fql.query'已过时。