2

FQL または Graph API を使用して、Koala gem を使用して一連の Facebook ユーザーからの投稿の JSON リストを返せるようにしたいと考えています。現在、Koala のバッチ関数を使用して、各ユーザー フィードから最初の 'x' 個のアイテムを呼び出し、配列を平坦化し、時間で並べ替えています。これに関する問題は、最初の「x」個のアイテムを取得できるようにしたいということです。各ユーザーから 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で可能な解決策を1つ見つけたと思います

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アプリ自体がこれを要求できる方法はありますか?

4

1 に答える 1

0

動作するはずですが、ここで説明されている FB バグがあります。

それを解決するためにあなたの側ですることは何もないと思います。

于 2012-06-05T13:50:23.300 に答える