如何通过uid计算Facebook用户的总朋友数?

时间:2010-08-20 01:10:24

标签: facebook facebook-fql

如何按uid计算Facebook用户的总朋友数?

7 个答案:

答案 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)

FQL不支持

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问题:

FQL result count

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