2012-12-10 47 views
1

它说,在FQL user Documentation有4个可转位领域(标有*):FQL过滤用户表按名称

  • third_party_id
  • UID
  • 用户名

但是当我执行query like this时:

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查询?

+0

这是一个在这里提交的错误:https://developers.facebook.com/bugs/331209630309433你可能想自己和你的应用程序ID添加到这个错误。然后,您将订阅它。 –

回答

3

等待FB对这个错误的响应,但同时有一个解决方法。

可建立索引的列名称在配置文件表中工作并且可以返回它的id字段,其对应于用户表中的uid列,例如,

SELECT first_name FROM user WHERE uid IN (SELECT id FROM profile WHERE name="Mark Zuckerberg") 
+0

这里有两件奇怪的事 (1)可索引属性“name”在一个表中被打破,但在另一个表中工作 (2)表示同一实体的不同表中的两列具有不同的名称。这是错误的。 –