2012-05-09 16 views
1

ユーザのストリームから最後の10個の投稿を取得しようとしています。何らかの理由で私のFQLクエリは2つのポストを連続して返します。私のコードは、コーヒースクリプトPardonですFacebook FQLが質問の重複投稿を返す

method = 'fql.multiquery' 
queries = 'feed' : "SELECT attachment , type , created_time , filter_key,  actor_id, description, message FROM stream WHERE (filter_key = 'others' OR filter_key = 'owner') ORDER BY created_time DESC LIMIT 10" 
params = 
    method : method 
    queries : queries 
FB.api (params) , (response) => 
    #and so on 

私は本当になぜこれが起こっているのか分かりません。

答えて

2

FQLはグループバイズを行うことができず、Facebookストアはさまざまな方法でストーリーを投稿します。したがって、「倍数」があります。これを回避する方法は、あなたが必要とする列を選択することであり、すなわち、結果セットを制限する「の場所」ん:

select 
    attachment , type , created_time , filter_key, actor_id, description, message 
FROM 
    stream 
WHERE 
    post_id in (select post_id 
     FROM 
     stream 
    WHERE 
      (filter_key = 'others' OR filter_key = 'owner' and created_time < [long-ass unix time]) 
) 
  • は、あなたが制限を行うことができると信じていない、あなたが行う必要があります日付より小さい/より大きい、または結果セットの解析とソート
+0

これは動作していません。私は250位に「(#601)パーサーエラー:予期しない」と表示されます) Graph API Exporerでこのクエリを実行しようとしたときに発生します。エラーがサブクエリに接続されているようです。 –

+0

実際には最後に余分な閉じ括弧があるようです。 –

+0

また、 "created_date"は "created_time"にする必要があります。これら2つの調整を行い、タイムスタンプを追加した後、クエリはうまく機能します。情報をありがとう。 –

関連する問題