0

Facebook の FQL で苦労しています。アプリによって生成された Steam ストーリーのインプレッション数を知る必要があります。

FQL テーブルには app_id 列があります。app_id = '' の場所を選択できた場合、それは私が飛んでいることになりますが、インデックス付きの列ではないため、fql が吐き出し、エラーが発生します

https://developers.facebook.com/docs/reference/fql/stream/

作成されたすべての投稿が投稿IDを返すことは知っていますが、現在は保存していませんが、すべてのIDを保存してから、個々の投稿のインプレッションをカウントするために大規模なクエリを実行することを意味する場合は、そうです...

しかし、もっと簡単な方法が必要です (特に、ユーザーによって何千もの投稿が生成される場合)。

4

1 に答える 1

0

あなたが求めているのは、WHERE句で「インデックス付け可能な」列しか使用できないため、FQLでは不可能です。「app_id」列はインデックス可能ではない (「*」がない) ため、使用できません。

あなたが言ったように、投稿IDを保存してから特定の投稿について尋ねるか、アプリケーションがユーザーウォール(またはページウォール)に作成したすべての投稿を照会するためにインデックス可能な「source_id」を使用することができます。

また、IN 句を使用できるはずなので、次のようになります。

SELECT post_id, impressions
FROM stream
WHERE
    source_id IN (SOME IDS OF USERS)
    AND
    app_id = YOUR APP ID
于 2012-04-27T22:09:53.313 に答える