如何计算 Facebook 用户的好友总数uid
?
7 回答
表中有一个friend_count
字段user
可供您查询。
SELECT friend_count FROM user WHERE uid = me()
只需替换me()
为您要查询的用户的 UID。
@斯科特
这非常有效,我没想到它会:)
https://graph.facebook.com/fql?q=SELECTfriend_count FROM user WHERE uid = 273103345
我尝试使用在 Graph API 中不是朋友的随机用户 ID。然而,对于少数随机 uid,它返回 null,我猜它们是页面。
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
COUNT
FQL 不支持:
SELECT uid2
FROM friend
WHERE uid1 = USERID
由于COUNT
不支持,您需要获取所有记录,然后在进行 SQL 调用的任何应用程序中计算它们。
如果您想获取更多信息,例如姓名以及计数,您可以使用内部选择来获取朋友的扩展信息:
SELECT name
FROM user
WHERE uid IN (SELECT uid2
FROM friend
WHERE uid1 = USERID)
这是一个相关的SO问题:
朋友表的参考:
查询此表以确定两个用户是否作为朋友链接在一起。
这是我的解决方案...效果很好!
$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount = COUNT($myfriends['data']) + 1;
将 XXXXXXX152466 替换为 facebook 个人资料 ID#
使用 Facebook PHP SDK 和 Graph API!
从您开始,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);
}
});
有很多方法可以计算使用带有 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 好友数