Facebook Graph API仅返回50条评论

时间:2012-06-29 03:19:56

标签: ruby facebook-graph-api railscasts koala

我在koala中使用Railscasts episode #361宝石。我试图得到一个特定帖子的所有评论,但Facebook似乎只是给了我回复帖子上的最后50条评论。这是Facebook的Graph API的限制还是我做错了什么?

fb = Koala::Facebook::API.new oauth_token
post = fb.get_object(id_of_the_post)
comments = fb.get_object(post['id'])['comments']['data']
puts comments.size # prints 50

1 个答案:

答案 0 :(得分:4)

如果帖子的数量超过设置的限制(在您的情况下为50),则图表API会对结果进行分页。

要访问下一页结果,请调用“next_page”方法:

comments = fb.get_object(post['id'])
while comments['comments']['data'].present?
  # Make operations with your results
  comments = comments.next_page
end

此外,通过查看源代码,可以看到“get_object”方法接收3个参数:

def get_object(id, args = {}, options = {})

这样,您可以将每页的帖子提升到任意数量的帖子:

comments = fb.get_object(post['id'], {:limit => 1000})