【发布时间】:2012-02-11 13:54:06
【问题描述】:
让我在这里解释一下整个事情,这样你就可以清楚地了解情况:
我在 facebook 上有一个页面,并且见解(在页面上和来自图形 api)给了我很多有价值的信息,但我需要更深入。我正在考虑将社交网络分析概念(中心性、中介性、特征向量等)应用于我的页面帖子/图片/等上谁喜欢/分享/cmets,这样我就可以找到我页面的关键用户以及病毒式传播的方式其中。
我们以“点赞帖子”为例。我需要的第一件事是获取喜欢该帖子的每个人的列表,这很简单,可以通过对 graphapi 的一些请求来完成。现在到了棘手的部分:我需要知道所有喜欢该帖子的人之间的关系,但我无法访问他们的好友列表。要访问朋友列表,我必须将该页面设为应用程序并请求该权限,此时无法完成。但是 facebook api 允许您检查两个人(user1 和 user2)是否是具有以下请求的朋友:user1/friends/user2,为此我不需要特殊权限,只需一个常规令牌。好吧,到目前为止一切顺利,我只是得到喜欢这篇文章的用户,然后两两检查哪些是朋友。但是问题来了:
我可以向 API 发出批量请求,这意味着我可以通过一个请求检查 50 对用户。根据我的阅读,Facebook 每 600 秒允许 600 个请求。简单的数学运算:每 10 分钟有 30,000 对用户。这是一个很大的数字,应该足够了。它不是。假设该帖子有 1,000 个赞(一点也不乐观)。我必须对照其他 999 个用户检查 user1。现在必须对照剩余的 998 个用户检查 user2(无需再次检查 user1,因为朋友检查是双向的)。 User3 针对 997 个用户,依此类推,直到需要针对 1 个用户检查 user999。因此,我需要执行 999+998+997+996+...+3+2+1 检查或 499,500 个请求,这意味着将近 3 个小时才能让数据遵守 Facebook 的限制。 1 万个赞需要一个多星期!
所以我的问题是:还有其他方法可以使这项工作吗?另一种获取数据的方式,还是最大的批量请求?我可以通过某种方式检索这些数据吗?或者这是不可能的,因为 facebook 保留了重要信息?
感谢您阅读所有这些内容并帮助我;)
【问题讨论】:
标签: facebook facebook-graph-api graph