我正在尝试将我的Cordova移动应用程序与Erecruit Adapt API集成在一起,文档在这里:http://developer.adapt.co.uk/documents/Adapt%20REST%20API%20rev%201.2.pdf
我正在使用JavaScript Ajax执行我的所有请求,我对API的初始请求是登录,我已经成功实现了这一点,并且从API收到了安全令牌,该令牌应用于以后对API的所有请求端点,在标题“ x-adapt-sid”中。
我的问题是,当我使用另一个需要身份验证的API端点时,即用于检索所有作业列表的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正常状态。
我还收到来自API的响应,这进一步使我相信他们正在对导致我的问题的OPTIONS请求执行身份验证。
{“ ERROR_MSG”:“验证令牌缺失或不正确”}