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

Возможно ли отправить POST запрос к api.direct.yandex с клиента?

Собственно, вот описание api.yandex.ru/direct/doc/concepts/JSON.xml, но возможно ли отправить запрос именно с клиента, без использования бэкэнда?

Делаю что-то вроде
var data = {
        "method": "GetClientInfo",
        "param": ["правильный_юзер"],
        "locale": "ru",
        "token": "правильный_токен"
      };
      $.ajax({
        type: "POST",
        url: "https://api.direct.yandex.ru/v4/json/",
        dataType: "jsonp",
        crossDomain: true,
        data: data
      });


Но в итоге получаю некорректный ответ. Подскажите, в каком направлении думать, да и возможен ли такой вариант?

При использовании сервера и отправки запроса с него работает все прекрасно.
  • Вопрос задан
  • 4038 просмотров
Подписаться 3 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
скорее всего API ошибка вида XMLHttpRequest cannot load https://api.direct.yandex.ru/v4/json/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'домен' is therefore not allowed access.


ну так вот вам и ответ. Собственно то, с чего я начал: браузер блокирует кросс-доменный ajax запрос. Вкратце: не думаю, что получится заставить Яндекс отдать нужный заголовок (Access-Control-Allow-Origin). Вывод: нет, с другого домена не получится сделать ajax-запрос к api яндекса.
Ответ написан
Sander_Li
@Sander_Li
Backend developer
Попробуй Postman. Возможно яндекс не поддерживает Сross Site Authentication. Не вдавался в подробности, но вероятно ты указывал домен для своего приложения и таким образом привязывался к апи. Следовательно запросы возможны только с того домена.
Ответ написан
Ваш ответ на вопрос

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

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