我的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错误102需要用户会话进行重复查询
我不知道如何使它发挥作用!
如果你不实现Facebook登录,你将从收到访问令牌
$accessToken = $facebook->getAccessToken();
很可能是应用程序访问令牌,该令牌对于请求您想要的信息类型无效。此外,您需要user_friends
权限,显然您使用的是旧版本的SDK,因为'method' => 'fql.query'
已经过时了。
参见
- https://developers.facebook.com/docs/facebook-login/access-tokens
- https://developers.facebook.com/docs/apps/review/login#do-你需要复习
- https://developers.facebook.com/docs/technical-guides/fql/#read