私は、Koalaの宝石を使ってFacebookユーザーのセットからのJSONリストをFQLまたはGraph APIを使って返すことを望んでいます。現在、私はKoalaのバッチ機能を使用して、各ユーザーのフィードから最初の「x」個の項目を呼び出してから、配列を平坦化して時間順にソートしています。これに関する問題は、各ユーザーから10を取得しない最初の「x」個のアイテムを取得できるようにすることですが、クエリしたユーザーからの最新の10個のポストだけを取得して、次のあなたの自宅のフィードからあなたが期待するものに似ている。コアラの宝石を持つ複数のFacebookユーザーから最新の「x」個の投稿を取得するにはどうすればよいですか?
これは私が現在持っているものです。
@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"] }
私は
batch_api.fql_query("SELECT post_id, source_id, likes, actor_id, message, type FROM stream WHERE source_id IN(artist1, artist2...)")
を次のようにFQLとの一つの可能な解決策を見つけた。しかし私は、今戻っています信じていEDIT
エラー
[#<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のアプリ自体がこれをリクエストできるのですか?