Страница 1 из 1

Проблема с users.search - в ответе нули

Добавлено: 24 фев 2015, 09:34
artemysh
Добрый день, вызываю метод execute с кодом (вместо многоточия любые параметры):

var a1 = API.users.search...
var a2 = API.users.search...
var a3 = API.users.search...
var a4 = API.users.search...
var a5 = API.users.search...
var a6 = API.users.search...
var a7 = API.users.search...
var a8 = API.users.search...

return [a1,a2,a3,a4,a5,a6,a7,a8];

a7 и a8 не выдаются в 90% случаях (просто 0 в ответ), но это не страшно (могу запрашивать по 5 элементов). Через какое-то количество таких запросов execute (не чаще 1 запроса в секунду), в ответе приходят все 0. Через какое-то время метод снова начинает работать.

В документации нашел про ограничение по количеству вызовов функции, но должна выдаваться ошибка (капча), а здесь просто 0, что затрудняет обработку результатов. Встречался ли кто-нибудь с такой проблемой?

Re: Проблема с users.search - в ответе нули

Добавлено: 24 фев 2015, 13:35
XELAD
Вызов стольки запросов к API спровоцирует ошибку "Too many requests per second".

Re: Проблема с users.search - в ответе нули

Добавлено: 24 фев 2015, 15:35
artemysh
В том то и дело, что запрос один - execute, в котором я вызываю последовательность указанных запросов. И что самое печальное в этой ситуации, никаких исключений он не выдает, а просто возвращает нули в ответ

Re: Проблема с users.search - в ответе нули

Добавлено: 25 фев 2015, 22:26
XELAD
Не исключено, что вы 1) допустили ошибку в search 2) Натыкаетесь на негласное правило в execute 3) Возвращаете слишком длинную строку.

Re: Проблема с users.search - в ответе нули

Добавлено: 26 фев 2015, 08:13
Serge
А в ВК в группе "ВКонтакте API" не вы же этот вопрос задавали?
Помимо ограничений на частоту обращений, существуют и количественные ограничения на вызов однотипных методов. По понятным причинам, мы не предоставляем информацию о точных лимитах.

После превышения количественного лимита доступ к конкретному методу может требовать ввода капчи (см. captcha_error), а затем может быть временно ограничен (в таком случае сервер не возвращает ответ на вызов конкретного метода, но без проблем обрабатывает любые другие запросы).
Попробуйте сделать users.get пока идут нули в поиске.

Re: Проблема с users.search - в ответе нули

Добавлено: 26 фев 2015, 21:58
artemysh
Да, это я задавал в группе.
Ничего не нашел толкового по этой проблеме в интернете, да, есть количественные ограничения, но должна выдаваться ошибка, а не 0.
Наверно это косяк ВК API, нашел 2 темы в баг трекере:

https://vk.com/bugs?act=show&id=6420090_1
https://vk.com/bugs?act=show&id=8878040_3

Сейчас только ждать похоже, пока они это устранят, темы все открытые, никто из поддержки ВК мне не отвечает уже неделю.

Re: Проблема с users.search - в ответе нули

Добавлено: 26 фев 2015, 22:07
artemysh
Вот пример, выполните: https://vk.com/dev/execute

var a1 = API.users.search({group_id:10639516,city:1,count:1}).count;
var a2 = API.users.search({group_id:10639516,city:2,count:1}).count;
var a3 = API.users.search({group_id:10639516,city:12,count:1}).count;
var a4 = API.users.search({group_id:10639516,city:16,count:1}).count;
var a5 = API.users.search({group_id:10639516,city:5,count:1}).count;
var a6 = API.users.search({group_id:10639516,city:6,count:1}).count;
var a7 = API.users.search({group_id:10639516,city:8,count:1}).count;
var a8 = API.users.search({group_id:10639516,city:9,count:1}).count;

return [a1,a2,a3,a4,a5,a6,a7,a8];

a7 и a8 будут нулевыми практически в 90% случаях. А если выполнить этот код раз 20, будут выдаваться все нули. Никаких ошибок, поэтому поймать эту ситуацию сложно

Re: Проблема с users.search - в ответе нули

Добавлено: 01 мар 2015, 17:06
Serge
Попробуйте при выкидывании 0 выполнить users.search. По моей практике - сам execute не выдает ошибок, если не отрабатывают внутренние методы.

Re: Проблема с users.search - в ответе нули

Добавлено: 03 мар 2015, 10:35
artemysh
Пробовал, вызывал users.search через секунду, примерно через 50 вызовов метод выдает 0.
Задавал вопрос в поддержку, сегодня пришел ответ:

Вопрос:
"После превышения количественного лимита доступ к конкретному методу может требовать ввода капчи (см. captcha_error)"
Хорошо, но в таком случае разве не должна выдаваться ошибка с вводом каптчи?
Для разработчиков ноль это тоже результат, как отлавливать такую ситуацию?

Ответ поддержки:
«может» — не значит «будет».
Обратная связь по этой ошибке не предусмотрена, сожалею.

Re: Проблема с users.search - в ответе нули

Добавлено: 19 янв 2016, 10:54
MihaPog
Можно адресок продолжение этой темы?