0

FacebookAPIを自分のWebアプリに統合しようとしています。次のように最初のコメントをクエリして、ユーザーがFacebookに参加したおおよその時期を確認したいと思います。

SELECT text, time FROM comment WHERE fromid= me() ORDER BY time ASC LIMIT 1

ただし、次のようなエラーが発生しました。

"message": "Your statement is not indexable. The WHERE clause must contain an indexable column.

この問題を解決するにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

コメントテーブルはfb:comments用であるため、最初に適切なテーブルを使用する必要があります。これがステータステーブルになります。http://developers.facebook.com/docs/reference/fql/status

 SELECT status_id, message, time FROM status WHERE uid=me() ORDER BY time ASC LIMIT 1

だが

最初の投稿が別のユーザーからのものである場合はどうなりますか?

次に、ストリームテーブルを使用する必要があります。ニュースフィードの最初のアイテムは、理論的には参加日より後でなければなりません(なぜ前にアイテムを表示するのですか?)これは、APIがニュースフィードのすべてのデータを保持していることを前提としています。

したがって、これには、ストリーム、filter_keys、created_timeの操作が含まれます。

http://developers.facebook.com/docs/reference/fql/stream_filter
http://developers.facebook.com/docs/reference/fql/stream

于 2013-03-05T23:51:51.107 に答える
0

句を含むFQL クエリには、テーブルのドキュメントにWHERE示されているように、インデックス可能な列を含める必要があります(これらは現在、星印でマークされており、「サポートされている Base Where句」セクションに示されています)。

fromidはインデックス可能な列ではないため、WHERE句をこの列の単なる条件にすることはできません。

ユーザーがいつ Facebook に参加したかを Graph API や FQL 経由で発見することは不可能だと思います。これを提供する FQLUserテーブルのプロパティはありません。グラフ API ユーザー スキーマはテーブルにかなり近いUserです。

于 2013-03-05T07:50:45.120 に答える