Ошибка Oauth 604 Graph API для неиндексируемого столбца, хотя столбец индексируется

Используя приложение 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

Однако рядом с полем uid в таблице page_fan есть звездочка, указывающая, что это индексируемый столбец.

Что я здесь делаю не так?


person Lucas Dickey    schedule 16.03.2012    source источник


Ответы (4)


@ Лукас Дики: Я уже сталкивался с той же проблемой и раньше. Даже столбцы в WHERE можно индексировать (отмечены *), но произошла ошибка с такой ошибкой:

{
"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

Надеюсь, что это работает.

person Phat H. VU    schedule 12.12.2013

Столбец page_id в вашем предложении WHERE не индексируется (и рядом с ним нет *). http://developers.facebook.com/docs/reference/fql/page_fan/

person Joakim Syk    schedule 16.03.2012

Согласно информации индекса для page_fan по ссылке @ Jaokim, page_id частично проиндексирован и должен использоваться вместе со столбцом uid для полного индекса. Вы можете попробовать это с полем uid или попытаться получить список идентификаторов пользователей из другого запроса.

Из https://developers.facebook.com/docs/reference/fql/page_fan/ < / а>:

Это поле частично индексируется и должно использоваться вместе со следующими полями: uid.

person Adam Mirkovich    schedule 11.12.2013