我在Java Android应用程序中遇到以下问题:
当我为一篇帖子创建评论(向FB发送请求)时,我得到了成功的回复(我得到了该帖子新创建评论的ID)。到目前为止还不错。
但如果我立即要求评论计数:
"SELECT comments.count FROM stream WHERE post_id = '" + postId + "'"
然后我得到的不是预期的1(假设这是第一个评论),而是0(FB告诉根本没有评论)。我的问题是为什么会发生这种情况?如果我等一段时间,这个问题就会消失。例如,如果我等待大约一分钟,那么FB开始返回预期的评论计数。
看起来(只是我的猜测)FB没有足够的时间更新它的索引(我真的相信他们使用索引)。所以我得到了一个过时的/缓存的简历。我想知道有没有任何方法可以强制获取最新鲜的数据(绕过FB端的任何缓存)?
澄清:我知道如何获得评论列表。我可以用它来获取计数,只需从返回的集合中获取大小即可。但这不是我的目标。因为上面发布的FQL请求有时应该更便宜/更快。
您是否尝试过使用FB API进行此操作。评论可以提取如下。
FB.api("/" + PostId + "/comments", function(){//do your processing})
希望这能有所帮助。
感谢
Kaushik