Mar*_*son 0 facebook facebook-fql facebook-graph-api
可能重复:
在Facebook上获取朋友之友列表
我需要得到某人的朋友(1级),朋友的朋友(2级)以及他们朋友的朋友(3级)的数量.这可能使用FQL或Graph API,如果是这样,怎么做?
到目前为止,我知道我可以使用此FQL查询获得第一级计数:
SELECT friend_count FROM user WHERE uid = me()
Run Code Online (Sandbox Code Playgroud)
但我不知道如何进一步,或者即使有可能这样做.
不,这不能使用Graph API或FQL完成.您可以获得的最远的是从用户表中选择与您的朋友相关的信息,例如他们的朋友数,通过在您的查询中进行子选择,如下所示:
SELECT uid, friend_count
FROM user
WHERE uid IN (
SELECT uid1
FROM friend
WHERE uid2 = me()
)
Run Code Online (Sandbox Code Playgroud)
但是这在你原来的问题中甚至没有达到2级,因为你们中的很多朋友都会有朋友的共同点,所以这些数量的总和将远远超过你们朋友的朋友数量.为了获得您需要的信息,您需要做的是提取朋友的朋友列表,然后通过执行这样的查询来自己计算
SELECT uid1
FROM friend
WHERE uid2 in (
SELECT uid1
FROM friend
WHERE uid2 = me()
)
Run Code Online (Sandbox Code Playgroud)
但是,如果您尝试执行此操作,您将收到类似以下内容的错误:
{
"error": {
"message": "Can't lookup all friends of 36807322. Can only lookup for the logged in user or the logged in user's friends that are users of your app.",
"type": "NoIndexFunctionException",
"code": 604
}
}
Run Code Online (Sandbox Code Playgroud)
如果你尝试查询您的朋友的朋友在图形API列出一个接一个,你会得到同样的错误信息,如所描述这里(感谢IGY此链接).
因此,没有办法使用现有的API做你想做的事情(当然,除非你为你的Facebook应用程序获得足够大的用户群,你可以逐步构建用户的朋友朋友的图表为您应用的众多其他用户访问令牌- 但我认为这样的"解决方案"对您没有帮助!)
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |