0

我在Railscasts 第 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
4

1 回答 1

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})
于 2012-08-14T22:24:15.693 回答