Ошибка API Oauth 604 Graph для неиндексируемого столбца, даже если столбец индексируется - PullRequest
1 голос
/ 16 марта 2012

Используя приложение 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 имеет звездочку рядом с ним, что указывает на то, что это индексируемый столбец.

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

Ответы [ 4 ]

1 голос
/ 12 декабря 2013

@ Лукас Дики: я сталкивался с той же проблемой с тобой раньше. Даже столбцы в 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

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

0 голосов
/ 17 марта 2012

http://developers.facebook.com/docs/reference/fql/page_admin/

Я думаю, что для вас эффективнее сделать запрос со страницы Facebook.

0 голосов
/ 11 декабря 2013

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

С https://developers.facebook.com/docs/reference/fql/page_fan/:

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

0 голосов
/ 16 марта 2012

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

...