Как я могу получить последнее количество 'x' сообщений от нескольких пользователей Facebook с помощью драгоценного камня Koala? - PullRequest
2 голосов
/ 24 марта 2012

Я надеюсь, что смогу вернуть JSON-список сообщений от группы пользователей Facebook с гемом Koala через FQL или Graph API.В настоящее время я использую пакетную функцию Koala для вызова первого числа «х» элементов из каждого пользовательского канала, а затем выравнивания массива и сортировки по времени.Проблема в том, что я хотел бы иметь возможность получить первое число «х» элементов, при котором он не получает 10 от каждого пользователя, а просто 10 самых последних сообщений от пользователей, которых я запросил, чтобы я мог получить следующее10 от корма, похожего на то, что вы ожидаете от собственного домашнего корма.

Это то, что у меня сейчас есть:

@oauth = Koala::Facebook::OAuth.new
@access_token = @oauth.get_app_access_token
@graph = Koala::Facebook::API.new(@access_token)
artists = []
followings.each do |following|
  artists << following.artist
end
feed = @graph.batch do |batch_api|
  artists.each do |artist|
    feed | batch_api.get_connections(artist.facebook, "feed", {"limit" => "10"})
  end
end
feed.flatten!
feed.sort! { |x, y| y["created_time"] <=> x["created_time"] }

РЕДАКТИРОВАТЬ

Мне кажется, я нашел одно возможное решение с FQL следующим образом:

batch_api.fql_query("SELECT post_id, source_id, likes, actor_id, message, type FROM stream WHERE source_id IN(artist1, artist2...)")

Но мне теперь возвращается ошибка

[#<Koala::Facebook::APIError: OAuthException: (#606) Queries for multiple source_ids require a non-zero viewer that has granted read_stream permission>]

Проблема в том, что мое приложение не требуеткто-то, чтобы войти через Facebook, и поэтому я не могу запросить разрешение read_stream.В любом случае, само приложение Facebook может запросить это?

1 Ответ

0 голосов
/ 05 июня 2012

Должно работать, но здесь описана ошибка FB здесь :

Я думаю, что с вашей стороны ничего не поделаешь, чтобы решить эту проблему.

...