Задать вопрос

Как получить id города методом GET /regions через API Яндекса?

Добрый вечер. Есть у API Яндекса метод для получения id города по переданному названию этого города ( GET /regions ). Задача просто сформировать GET запрос формата:
curl -i -H 'Content-Type: application/xml' 'https://api.partner.market.yandex.ru/v2/regions.xml?name=Ивановка'

Если отправить простой запрос, то получаю ошибку "401 Не авторизован". Поэтому ко всем запросам требуется добавлять header:
Authorization: OAuth oauth_token="авторизационный_токен", oauth_client_id="идентификатор_приложения"

А в результате я получаю ошибку "405 Method Not Allowed". Так как это сложный запрос, то браузер отправляет предварительный запрос, используя метод OPTIONS, ну и как бы Яндекс выписывает мне ошибку, что данный метод недоступен. Я в замешательстве, если у кого-то есть идеи, пожалуйста, подскажите как решить сей недуг?
Собственно, мой запрос выглядит так:
let webApiUrl = 'https://api.partner.market.yandex.ru/v2/regions.xml?name=Москва;
      const resgetRegion = await axios.get(webApiUrl, { headers: {"Authorization" : 'OAuth oauth_token=XxX, oauth_client_id=XxX'} });
  • Вопрос задан
  • 539 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
Так как это сложный запрос, то браузер отправляет предварительный запрос

непонятно, какой еще предварительный запрос ?
вам просто нужно к каждому своему запросу добавлять еще один заголовок с авторизацией

у вас через сам curl получается отправить запрос ?
curl -i 'https://api.partner.market.yandex.ru/v2/regions.json?name=Moskow' \
     -H 'Content-Type: application/json' \
     -H 'Authorization: OAuth oauth_token="__ТОКЕН__", oauth_client_id="__ИД__"'


п.с.
да и неплохо, когда спрашиваете, кидать ссылку на источник того откуда вы это всё берёте чтобы сэкономить время себе и другим
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы