2012-02-11 125 views
3

让我解释了整个事情,你在这儿可以的情况看得一清二楚:Facebook的社交网络分析/喜欢

我在Facebook页面和见解(无论在页面和图api)给了我很多有价值的信息,但我需要更深入。我正在考虑将社交网络分析概念(中心性,中介性,特征向量等)应用于我的网页帖子/图片/等上的谁喜欢/分享/评论,以便我可以找到我的网页的关键用户以及病毒式传播其中。

让我们以'喜欢帖子'为例。我需要的第一件事就是获得喜欢这个帖子的每个人的名单,这很简单,可以通过对graphapi的一些请求来完成。现在出现棘手的部分:我需要知道所有这些喜欢这篇文章的人之间的关系,但我无法访问他们的好友列表。要访问好友列表,我必须让该页面成为一个应用程序并请求该许可,而此时无法完成此操作。但是,facebook api允许你检查两个人(user1和user2)是否是朋友,他们的请求是这样的:user1/friends/user2,为此我不需要特殊的权限,只需要一个普通的令牌。好吧,到目前为止,我只是得到喜欢这个帖子的用户,并且仔细检查哪两个人是朋友。但问题来了:

我可以向API发出批量请求,这意味着我可以用一个请求检查50对用户。据我所读,Facebook每600秒允许600个请求。简单的数学:每10分钟有30,000对用户。这是一个很大的数字,应该够了。事实并非如此。假设该帖子有1000个喜欢(根本不乐观)。我必须检查user1对其他999个用户。现在,必须对剩余的998个用户检查user2(不需要再次检查user1,因为朋友检查可以双向运行)。用户3对997个用户等等,直到user999需要针对1个用户进行检查。因此,我需要执行999 + 998 + 997 + 996 + ... + 3 + 2 + 1检查或499,500个请求,这意味着将近3小时才能使数据服从Facebook的限制。 10K个喜欢将需要一个星期!

所以我的问题是:是否有任何其他方式使这项工作?获取数据的另一种方式,还是最大的批量请求?有什么方法可以检索这些数据?或者这仅仅是不可能的,因为Facebook保留重要信息?

感谢您阅读了这一切,帮助我;)

回答

0

你正在尝试去的信息,Facebook的不希望容易获得。

在你没有获得“朋友的朋友”以同样的方式,试图重建社会关系需要太多对API的调用,因为正如你所说,你需要测试针对个人对。
虽然你的问题是有效的,但从我能告诉你没有试图获得这些数据来执行一些恶意行为,恐怕在这一点上你只需要使用Facebook提供的数据您通过Insights应用程序并访问该数据though the API as well