2012-03-24 14 views
2

私は、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のアプリ自体がこれをリクエストできるのですか?

答えて

0

それは動作するはずですが、バグがhereを説明FBがあります:

が、私はそれを解決するためにあなたの部分には何の関係もありませんと思いますが。

関連する問題