2

您好 Graph API 专家,

当您调用 /[post_id 时,结果包含“comments”字段,该字段具有“count”字段,该字段应该包含此特定帖子的评论总数。

现在,如果您调用 /[post_id]/comments ,您将一一获得实际的评论数据。

我面临的问题是,当我比较“comments.count”字段的值和返回的所有实际评论数据的数量时,它们是不同的。

更糟糕的是,如果您随后查看 Facebook.com 时间轴上的同一帖子,您可以在其中看到该帖子的评论数量(即“查看所有*评论”链接),这个数字也不同于“comments.count” " 字段值。

这不仅发生在一个帖子上,而且发生在其中许多帖子上——我观察到这往往发生在评论超过 100 条的帖子上(我实际上计算了时间轴上的所有评论,它与实际评论数据的数量相匹配从 /[post_id]/comments API 调用返回)。

这是正常的 API 行为吗?如果是这样的话,我应该或者你会相信哪个号码?

4

3 回答 3

3

好的,当您查看一些时间线帖子上的一些 Facebook 评论计数时,您会看到前的计数。16 条评论,当您尝试手动统计帖子上的评论时,您可能会看到它正在查看 15 条评论,那么缺少评论在哪里?facebook的计数是错误的吗?实际上不是,这是因为,有些人更改个人资料隐私,比如不显示我的评论 不是我朋友的人,或者我们没有任何共同的朋友,等等。这是因为你无法从 graph api 获得这些私有化评论,但这些评论不排除在总数中。那么解决方案是什么,请确保正确获取 facebook 为您提供的所有数据。并比较它,有多少评论看起来像缺失,并显示缺失计数作为您的应用程序中的私人评论计数。我觉得好多了。

于 2012-08-25T21:40:26.517 回答
2

欢迎来到 Facebook API 编程的世界。是的,这是正常的(但显然是不希望的)API 行为。这是我们在围绕他们的 API 进行编程时面临的矛盾之一。CBroe 在上面的评论中可能是正确的,这是其 API 集群中服务器之间的数据不一致。

于 2012-06-07T19:22:26.693 回答
0

除此之外还有分页的问题,你可以用offset+limit参数来说明你想要多少数据,从哪里取,如果你处理posts的数量,你可以说offset=0和limit=50它会起作用,但是如果您尝试 offset=100 和 limit=50 它可能会返回空数据,但是然后尝试 offset=100 和 limit=100 它将返回 100 个帖子。

该 api 只是错误的并且充满了不一致的地方,似乎没有任何方法可以解决它们。

我认为我们在 opengraph 上被超卖了,我认为这不是 facebook 告诉我们的那样,我开始感受到将它卖给我的老板并发现我可能无法交付的灼热:(

于 2012-10-14T15:43:04.147 回答