2012-06-29 4 views
0

Я использую жемчужину koala как шоу в Railscasts episode #361. Я пытаюсь получить все комментарии данной Почты, но Facebook, похоже, возвращает мне последние 50 комментариев к сообщению. Является ли это ограничением API-интерфейса Facebook или я что-то делаю неправильно?Facebook Graph API возвращает только 50 комментариев

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

Графический 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}) 
Смежные вопросы