Я пытаюсь интегрировать мое мобильное приложение Cordova с Erecruit Adapt API, документация здесь: http://developer.adapt.co.uk/documents/Adapt%20REST%20API%20rev%201.2.pdf
Я использую JavaScript Ajax для выполнения всех моих запросов, мой первоначальный запрос к APIчтобы войти, я успешно реализовал это, и я получаю токен безопасности от API, который должен использоваться для всех моих будущих запросов к конечным точкам, в заголовке «x-adapt-sid».
Моя проблемаэто когда я использую другую конечную точку API, которая требует аутентификации, а именно ту, которая извлекает список всех заданий, когда отправляется предварительный запрос OPTIONS, я получаю 401 несанкционированную ошибку.Я понимаю, что это означает, что API пытается аутентифицировать мой запрос OPTIONS, чего он не должен делать, поэтому мой вопрос заключается в том, что я что-то делаю неправильно или это проблема на стороне сервера API?Должен ли я связаться с разработчиками API (Erecruit Adapt) и сообщить им, что они выполняют авторизацию по запросу OPTIONS?
Заранее спасибо за помощь, я всего лишь младший разработчик, поэтому хочу убедиться, что это так.API виноват, прежде чем я свяжусь с ними!
Мой код JavaScript, чтобы попытаться получить задания:
var self = this;
var baseURL = "https://d1.adaptondemand.com/WebApp/api/";
// Create ajax settings.
var settings = {
url: baseURL + endpoint, // Endpoint = "v1/jobs"
method: method, // GET
contentType: "application/json",
beforeSend: function(xhr) {
if (self.SID) {
// Attach the security token.
xhr.setRequestHeader("x-adapt-sid", self.SID);
}
},
};
// If the request needs data, attach it to the settings object.
if (data) {
settings.data = JSON.stringify(data);
}
return new Promise(function(resolve) {
$.ajax(settings).then(function(response) {
resolve(response);
}).catch(function(response) {
console.log(response);
});
});
Ответ из браузера:
ОПЦИИhttps://d1.adaptondemand.com/WebApp/api/v1/jobs 401 (неавторизовано)
Не удалось загрузить https://d1.adaptondemand.com/WebApp/api/v1/jobs: Ответ на предпечатную проверку не имеет статуса HTTP ok.
Я также получаю ответиз API, что еще больше заставляет меня поверить, что они выполняют аутентификацию по запросу OPTIONS, который вызывает мою проблему.
{"ERROR_MSG": "Отсутствует или неверный токен авторизации"}