1

FQL ユーザー ドキュメントには、4 つのインデックス可能なフィールド (* でマーク) があると記載されています。

  • 名前
  • third_party_id
  • イド
  • ユーザー名

しかし、次のようなクエリを実行すると:

SELECT uid
FROM user 
WHERE name = "Mark Zuckerberg"

エラーが発生します:

{
  "error": {
    "message": "Your statement is not indexable. The WHERE clause must contain 
                an indexable column. Such columns are marked with * in the 
                tables linked from 
                http://developers.facebook.com/docs/reference/fql ", 
    "type": "NoIndexFunctionException", 
    "code": 604
  }
}

ここで何が欠けていますか?これはバグですか?ユーザー テーブルの FQL クエリを名前でフィルター処理するにはどうすればよいですか?

4

1 に答える 1

3

このバグに関するFBからの応答を待っていますが、その間に回避策があります。

インデックス可能な列名はプロファイルテーブルで機能し、ユーザーテーブルのuid列に対応するidフィールドを返すことができます。

SELECT first_name FROM user WHERE uid IN (SELECT id FROM profile WHERE name="Mark Zuckerberg")
于 2013-01-16T15:19:21.243 に答える