在本文的底部:http://developers.facebook.com/blog/post/478/ facebook说:
In addition to the limits mentioned in the documentation for each of the tables and connections listed above,it is helpful to know that the maximum number of results we will fetch before running the visibility checks is 5,000.
我想知道如何翻阅这样的公共数据.例如,采取Shakira:她上传的每张照片都有很多很多喜欢,这个api电话:
最终停止在5000喜欢.
一个有趣的一点是,这些数据都是公开的,我不必登录Facebook就可以看到它.我知道有关于如何使用数据的隐私政策,这不是我的问题.如果数据是公开的,这些数据是哪个,为什么我们不能全部获取,如果可以的话,怎么样?
主要问题是:
>如上所述,您可以获得超过5000个特定API调用的结果吗?
>这是最近的5000个喜欢的吗?因此,如果您立即开始收集此帖子上的数据,然后每10分钟左右回去寻找新的喜欢,您是否能够通过这种方法获取所有数据以防止5000限制?
>它是对API调用的限制,还是仅限于他们向一个用户发送的结果数量,或者他们为某个帖子发回的结果数量等等?
>这适用于帖子,标记和评论以及分页吗?
我知道这个问题有点开放,但我已经到处寻找答案而且没有详细记录.任何帮助都会很棒,我想很多人将来可能会参考这些信息.
更新:
运行此API调用时:
你得到一个结果,因此达到极限(至少接近它).有人建议使用FQL,这可能会返回更多.但我尝试用FQL在PHP中做同样的事情并且只获得了1条记录.
$select = urlencode("SELECT user_id,object_id,post_id FROM like WHERE post_id='5027904559_10150854808869560' LIMIT 1000 OFFSET 4964"); $fql_query_url = 'https://graph.facebook.com/fql?q=' . $select; $fql_query_result = file_get_contents($fql_query_url); $fql_query_obj = json_decode($fql_query_result,true);
所以,到目前为止,唯一的答案是“不”,你总是限制在5000个结果.我不认为/知道具有某些特定权限的特定access_token是否有帮助.
还有一个更新,当我去Shakira的页面并点击“x这样的人”并开始向下滚动列表时,我也达到了极限.因此,不仅Facebook限制API和FQL返回,它们限制了自己的页面.
我有兴趣看看有谁知道为什么?它们一次只有5k高速缓存,如果人们用如此多的请求访问数据库,他们将无法处理规模?只是一个猜测.
除非,正如你所说,你从低于5000的时间开始维护它,然后存储它们.