图谱API错误? / {group-id} / feed endpoint提供不一致的结果

时间:2014-06-09 03:40:21

标签: facebook facebook-graph-api

tl; dr获取群组的Feed会返回不一致的帖子数量

这个明显的错误似乎影响了Facebook Graph API的v1.0和v2.0。

我是一个封闭的Facebook群组的管理员,有大约1800个帖子。我想返回该组中的所有帖子。

要执行此操作,我呼叫/{group-id}/feed并关注paging.next中的网址。这实际上确实会返回帖子,但结果不一致,并且通常会比组中的实际返回少150个帖子(我已经独立验证并仔细检查了这个#)。

/{group-id}/feed的基本调用,当遵循所有paging.next链接时,会产生 1652 帖子。

/{group-id}/feed?limit=10的基本调用,当遵循所有paging.next链接时,会产生 1606 帖子。

/{group-id}/feed?limit=50的基本调用,当遵循所有paging.next链接时,会产生 1687 帖子。

值得注意的是,上述每种情况都是内部一致。 (例如limit=10调用始终会返回相同(不正确)的帖子数。)

我一直在搜索谷歌,并试图排除故障。我试过的一些事情:

  • 访问令牌权限的变化:使用最大值。或者分钟。需要不解决问题。
  • 隔离语言绑定错误:我在Go和Node.js中编写了测试代码,并且都遇到了同样的问题。
  • 使用不同版本的API:1.02.0都会出现同样的问题。

我真的在这里结识。我不知道要进一步排除故障。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这不一定是" bug" - 它有点记录:https://developers.facebook.com/blog/post/478/

本质上,在过滤结果之前应用限制(如删除的帖子或可见性),因此限制并不总是与您获得的帖子数量相匹配。更糟糕的是,您可以在结果集中获得空白页面,并且您需要在空白区域中进一步检查几页,以确保不遗漏任何内容。

由于已删除的用户帐户和此类内容,当您回复大量时间后,帖子会变得非常稀疏。所以你可能会得到200或者没有任何东西的东西,因为所有帖子都没有了。