FQL Query for friend_count перестал работать и выдает ошибку - PullRequest
1 голос
/ 27 января 2012

fql? Q = ВЫБЕРИТЕ friend_count ОТ пользователя ГДЕ uid = 'id'

Я использовал приведенный выше fql-запрос для подсчета количества друзей. У меня это работает довольно давно. [Javascript SDK]

Но теперь выдается следующее сообщение об ошибке,

{"error": {"message": "(# 604) Ваше утверждение не индексируется. ГДЕ Предложение должно содержать индексируемый столбец. Такие столбцы отмечены * в таблицах, связанных с http://developers.facebook.com/docs/reference/fql ", "Тип": "OAuthException"}}

Я попытался скопировать этот запрос и вставить его в Graph Api Explorer, и он отлично работает.

Я проверил ссылку FQL для user , и uid все еще является индексируемым столбцом.

Я проверил блоги на предмет критических изменений, но о fql не упоминалось. Есть идеи, почему это больше не работает? И любой другой способ заставить это работать?

Ответы [ 2 ]

4 голосов
/ 27 января 2012

Возможно, у вас неправильный токен доступа или ваш запрос может заключаться в кавычки вокруг числового значения идентификатора пользователя.

https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid=me()

{"data": [{"friend_count":NNNN}]}

https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me())

{"data": [{"friend_count": 421}, {"friend_count": 219}, {"friend_count": 59}, {"friend_count": 239}, {"friend_count": 235}, {"friend_count": 986},

РЕДАКТИРОВАТЬ

На основе кодовых ссылок, которыми вы поделились нижеВот способ правильно закодировать URL-адрес fql.

var q = 'fql?q=' + escape('SELECT friend_count FROM user WHERE uid=100001516911824');
FB.api(q, Log.info.bind('fql callback'));
0 голосов
/ 20 января 2013
 var query = string.Format("SELECT friend_count FROM user WHERE uid=me()");
            dynamic parameters = new ExpandoObject();
            parameters.q = query;

            object data2 = fbClient.Get("/fql", parameters);
...