如何按uid
计算Facebook用户的总朋友数?
答案 0 :(得分:35)
您可以查询friend_count
表格的user
字段。
SELECT friend_count FROM user WHERE uid = me()
只需将me()
替换为您要查询的用户的UID即可。
答案 1 :(得分:14)
@Scott
这非常有效,我没想到:)
https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid = 273103345
我尝试使用不是Graph API中的朋友的随机用户ID。然而,对于少数随机uid,它返回null,我猜他们是页面。
答案 2 :(得分:8)
FQL现已于2014年10月弃用。引用Facebook的常见问题解答:
截至2014年7月22日星期二,我们现在返回一个total_count字段 对/v2.2/me/friends。
的回复中的摘要属性
用户/朋友端点确实需要user_friends权限才能返回使用您的应用的朋友的实际列表,但是如果没有授予user_friends权限,仍将返回朋友计数字段。样品回复:
{
"data": [
],
"summary": {
"total_count": 811
}
}
完整常见问题解答:https://developers.facebook.com/docs/apps/faq#total_friend_count
答案 3 :(得分:3)
COUNT
:
SELECT uid2
FROM friend
WHERE uid1 = USERID
由于不支持COUNT
,您需要获取所有记录,然后在进行SQL调用的任何应用程序中对它们进行计数。
如果您想获得更多信息,例如姓名,以及计数,您可以使用内部选择来获取朋友的扩展信息:
SELECT name
FROM user
WHERE uid IN (SELECT uid2
FROM friend
WHERE uid1 = USERID)
这是一个相关的SO问题:
Friend表的参考:
查询此表以确定是否 两个用户链接在一起 朋友。
答案 4 :(得分:1)
继承我的解决方案......效果很好!
$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount = COUNT($myfriends['data']) + 1;
将XXXXXXX152466替换为facebook个人资料ID#
使用Facebook PHP SDK和Graph API!
答案 5 :(得分:1)
从Facebook API 2.0
can't get the full list of Facebook friends开始,只有部分朋友列表也授权您的应用。
您仍然可以获得朋友总数,图谱API user/friends的字段summary
包含计数为total_count
所以你可以使用:
FB.api("/me/friends", function (response) {
if (response && !response.error) {
console.log(response.summary.total_count);
}
});
答案 6 :(得分:0)
有许多方法可以计算使用Facebook Graph API和Php SDK的朋友的数量,我不知道其中一个...
$fbuser=$fb->api('/me/friends');
$access_token = $fb->getAccessToken();
$friend_count=0;
foreach($fbuser['data'] as $friends)
{
$friends_count++;
}
有关完整教程,请访问此文章Getting FB Friends Count