0

Railscasts のエピソード #361で示されているように、 koala gemを使用しています。特定の投稿のすべてのコメントを取得しようとしていますが、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

Graph API は、設定されている制限 (この場合は 50) よりも投稿数が多い場合に結果をページ付けします。

結果の次のページにアクセスするには、「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 に答える