让我在这里解释整个事情,以便你能清楚地了解情况:
我在Facebook上有一个页面,这些见解(在页面上和图表api中)都给了我很多有价值的信息,但我需要更深入。我正在考虑将社交网络分析概念(中心性,中介性,特征向量等)应用于我喜欢/分享/评论我的页面帖子/图片/等,这样我就可以找到我的页面的关键用户以及病毒式传播如何传播其中。
让我们以'喜欢帖子'为例。我需要的第一件事是获得一个喜欢该帖子的每个人的列表,这很简单,可以通过对graphapi的一些请求来完成。现在来了一个棘手的部分:我需要知道喜欢这篇文章的所有这些人之间的关系,但我无法访问他们的朋友列表。要访问好友列表,我必须将该页面设为应用程序并请求该权限,此时无法完成。但是facebook api允许你检查两个人(user1和user2)是否是这样的请求的朋友:user1 / friends / user2,为此我不需要特殊权限,只需要一个常规令牌。好吧,到目前为止这么好,我只是得到了喜欢这篇文章的用户,并且检查了两个人哪个是朋友。但问题出现了:
我可以向API发出批量请求,这意味着我可以通过一个请求检查50对用户。根据我的阅读,facebook每600秒允许600个请求。简单的数学:每10分钟30,000对用户。这是一个很大的数字,应该足够了。事实并非如此。让我们假设帖子有1000个喜欢(根本不乐观)。我必须检查user1与其他999用户。现在必须对剩余的998用户检查user2(不需要再次检查user1,因为友情检查两种方式都有效)。 User3对997个用户等等,直到user999需要针对1个用户进行检查。因此,我需要执行999 + 998 + 997 + 996 + ... + 3 + 2 + 1检查,或499,500个请求,这意味着将近3个小时的时间来获取符合facebook限制的数据。 10k喜欢会花一个星期的时间!
所以我的问题是:有没有其他方法可以使这项工作?获取数据或最大批量请求的另一种方法是什么?某种方式我可以检索这些数据?或者这是不可能的,因为Facebook保留了重要的信息?
感谢您阅读所有这些并帮助我;)
答案 0 :(得分:0)
你想要获得的是Facebook不想轻易获得的信息。
就像您无法访问“朋友的朋友”一样,尝试重建社交关系需要远过多的API调用,因为正如您所说,您需要测试个人对。
虽然你的问题是有效的,而且我可以告诉你,你并没有试图获取这些数据来执行某些恶意行为,但我担心此时你只需要使用Facebook提供给你的数据。 Insights应用程序以及对该数据though the API as well的访问权限。