17

如何计算 Facebook 用户的好友总数uid

4

7 回答 7

35

表中有一个friend_count字段user可供您查询。

SELECT friend_count FROM user WHERE uid = me()

只需替换me()为您要查询的用户的 UID。

于 2011-11-16T02:36:15.060 回答
14

@斯科特

这非常有效,我没想到它会:)

https://graph.facebook.com/fql?q=SELECTfriend_count FROM user WHERE uid = 273103345

我尝试使用在 Graph API 中不是朋友的随机用户 ID。然而,对于少数随机 uid,它返回 null,我猜它们是页面。

于 2012-01-11T08:37:21.617 回答
8

FQL 现在已于 2014 年 10 月弃用。引用 Facebook 的常见问题解答:

截至 2014 年 7 月 22 日星期二,我们现在在响应 /v2.2/me/friends 的摘要属性中返回一个 total_count 字段。

user/friends 端点确实需要 user_friends 权限才能返回使用您的应用程序的实际朋友列表,但是如果没有授予 user_friends 权限,仍然会返回朋友计数字段。示例响应:

    {
  "data": [
  ], 
  "summary": {
    "total_count": 811
  }
}

完整的常见问题解答:https ://developers.facebook.com/docs/apps/faq#total_friend_count

于 2014-11-28T20:24:47.643 回答
3

COUNTFQL 不支持:

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 结果计数

朋友表的参考:

查询此表以确定两个用户是否作为朋友链接在一起。

于 2010-08-20T01:18:22.687 回答
1

这是我的解决方案...效果很好!

$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount =  COUNT($myfriends['data']) + 1;

将 XXXXXXX152466 替换为 facebook 个人资料 ID#

使用 Facebook PHP SDK 和 Graph API!

于 2010-12-31T22:19:00.627 回答
1

从您开始,Facebook API 2.0无法获得 Facebook 好友的完整列表,只有部分好友列表也授权了您的应用。

不过,您仍然可以获得朋友总数,Graph API用户/朋友有一个summary包含计数的字段total_count

所以你可以使用:

FB.api("/me/friends", function (response) {
   if (response && !response.error) {
      console.log(response.summary.total_count);
   }
});
于 2016-12-12T09:26:54.263 回答
0

有很多方法可以计算使用带有 Php SDK 的 Facebook Graph API 的朋友数量,我说的其中一种..

$fbuser=$fb->api('/me/friends');
$access_token = $fb->getAccessToken();


$friend_count=0;
foreach($fbuser['data'] as $friends)
{
  $friends_count++;
}

有关完整的教程,请访问这篇文章获取 FB 好友数

于 2015-02-12T14:25:44.390 回答