you_are_enot
@you_are_enot
Пограммист любитель

Как оправить длинный запрос к API Вконтакте?

Я использую axios для запроса users.get. В параметрах передаётся 1000 id пользователей(максимальное число id в одном запросе). Но в ответ приходит ошибка 414 слишком длинный запрос. В документации говориться, что в таких случаях нужно использовать post запрос. Но опять же это не помогло. При передаче параметров в url, возвращается та же ошибка. Я пробовал передать параметры в теле запроса, в ответ приходит пустой массив. Как правильно сформировать запрос?

const url = `https://api.vk.com/method/users.get?access_token=${TOKEN}&v=5.103`;
const data = JSON.stringify({ user_ids: 1,2,3...1000 });
const { data } = await axios.post(url, data);
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@Nc_Soft
const axios = require('axios');
const qs = require('qs');

const token = '***************';
const url = `https://api.vk.com/method/users.get?access_token=${token}&v=5.103`;

const ids = Array.from({ length: 1000 }, (v, k) => k + 1);
const post = { 'user_ids': ids.join(',') };

(async () => {
  const response = await axios({
    method: 'post',
    url: url,
    data: qs.stringify(post),
    headers: { 'content-type': 'application/x-www-form-urlencoded' }
  });
  console.log(response.data);
})();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Admitad Projects Москва
от 130 000 до 200 000 ₽
Fundraise Up Санкт-Петербург
от 2 500 до 3 500 $
от 5 000 до 6 500 $