Facebook:使用Graph api获取在线好友列表

时间:2013-02-18 13:41:44

标签: facebook facebook-graph-api facebook-fql


我想在没有Facebook SDK的情况下在线获取用户列表。我的fql查询如下

 $fql = "SELECT uid, name, pic_square, online_presence
            FROM user
            WHERE online_presence IN ('active', 'idle')
            AND uid IN (
                SELECT uid2 FROM friend WHERE uid1 = $user
            )";

我的图表URl是

https://graph.facebook.com/fql?q=SELECT uid, name, pic_square, online_presence FROM user WHERE online_presence IN ('active', 'idle') AND uid IN (SELECT uid2 FROM friend WHERE uid1 = 1234)&access_token=xxxxxxtokenxxxxx&method=GET

但是在Url上方返回空数据。

{
   "data": [

   ]
}

注意:我的令牌有friends_online_presence权限。我有40个在线用户。

1 个答案:

答案 0 :(得分:1)

您需要user_online_presencefriends_online_presence权限才能查看online_presence。 (见http://developers.facebook.com/docs/reference/fql/user

如果没有这些权限,您将online_presence收到nullWHERE的这一部分不会过滤任何内容:online_presence IN ('active', 'idle')

如果您从查询中删除此限制,您将看到具有其状态的朋友列表(如果您没有此权限,则为空)