使用Graph API Explorer应用程序,我尝试以下查询: https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20uid%20FROM%20page_fan%20WHERE%20page_id%3D '123412341234'
(上面的假身份证,虽然我在查询中使用了真实的身份证)
错误是: 您的陈述不可索引。 WHERE子句必须包含可索引的列。这些列在http://developers.facebook.com/docs/reference/fql
链接的表格中标有*但是,page_fan表中的uid字段旁边有一个星号,表示它是一个可索引的列。
我在这里做错了什么?
答案 0 :(得分:1)
{
"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
}
}
我认为这是Graph API Explorer的“错误”。 但是,当我在浏览器中复制并运行时,一切正常(添加查询 access_token ),如下所示:
https://graph.facebook.com/fql?q=SELECT+uid+FROM+page_fan+WHERE+page_id=153453&access_token=CAACEdEose0cBANNkxdpIUuuhPXgbS0M6Tpt0GYgL4Q1p2OgwicLHEzCp7EPPVCB4zMqZA1LvWFyEr9aBhysXS13MYy3ZAZAihO0KvM07KWt8dcDqWry2mdTwhHe1yChDcWMQ54UtKCSEQOrTQuIkWcOjBpswiLhQkDWIHd7PnMvsc0mhI8fLsEz7pylxcXGT
希望它有效。
答案 1 :(得分:0)
WHERE子句中的page_id列未编入索引(并且旁边没有*)。 http://developers.facebook.com/docs/reference/fql/page_fan/
答案 2 :(得分:0)
根据@Jaokim链接上page_fan的索引信息,page_id被部分索引,需要与uid列一起用于完整索引。您可以尝试使用uid字段,或尝试从另一个查询中获取用户ID列表。
来自https://developers.facebook.com/docs/reference/fql/page_fan/:
此字段可部分索引,并且必须与以下字段一起使用:uid。
答案 3 :(得分:-1)
http://developers.facebook.com/docs/reference/fql/page_admin/
我认为从Facebook页面进行查询会更有效。