Есть вот такой вот код, немного избыточный, чтобы лучше понимать что происходит.
В чем проблема: вызываю нижеприведенную процедуру, в ответ приходит первая тысяча id пользователей (1000 - максимум, который можно получить через API), а потом появляется вот такая ошибка: "One of the parameters specified was missing or invalid: offset should be positive". То есть, offset должен быть положительным числом. Загвоздка в том, что этот самый offset (переменная users_got_count) за время выполнения скрипта не уменьшается, а наоборот увеличивается (по +1000 за итерацию).
var users_got_count = Args.users_got_count; // счетчик добавленных пользователей
var users_total = Args.users_total; // всего пользователей, задается через аргумент, т.к. может измениться
var peeps_left = users_total - users_got_count; // осталось добавить людей
var requests = 0; // сделано запросов
var members;
while (requests < 25 && peeps_left > 0) {
members = members + API.groups.getMembers({"group_id": Args.group_id, "v": "5.44", "offset": users_got_count}).items;
peeps_left = peeps_left - 1000;
users_got_count = users_got_count + 1000;
requests = requests + 1;
}
return members;
В чем проблема? Буду рад увидеть ваши мысли по этому поводу.