【问题标题】:Facebook Graph API only returning 50 commentsFacebook Graph API 仅返回 50 条评论
【发布时间】:2012-06-29 03:19:55
【问题描述】:

我正在使用koala gem,如Railscasts episode #361 中所示。我正在尝试获取给定帖子的所有 cmets,但 Facebook 似乎只将帖子上的最后 50 个 cmets 还给我。这是 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

【问题讨论】:

    标签: ruby facebook-graph-api railscasts koala


    【解决方案1】:

    当帖子数量大于设置的限制(在您的情况下为 50)时,Graph 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})
    

    【讨论】:

      猜你喜欢
      • 2018-11-06
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 2019-09-08
      • 2012-03-11
      • 2013-06-23
      • 2012-01-07
      相关资源
      最近更新 更多