2012-03-24 3 views
2

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

Это то, что я в настоящее время:

@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"] } 

EDIT

Я считаю, что я нашел одно из возможных решений с 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 может запросить это?

ответ

0

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

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