У меня возникли проблемы с тестированием Amadeus Flight-Offers Api. Аутентификация
Запрос на другой источник заблокирован: та же политика происхождения запрещает чтение удаленного ресурса по адресу https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=SYD&destinationLocationCode.=BKK&leaveDate=2021-02-01&returnDate=2021-02-05&adult=1&max=3. (Причина: заголовок «аутентификация» не разрешен в соответствии с заголовком «Access-Control-Allow-Headers» из ответа предварительной проверки CORS).
Это мой код
"use_strict";
function getPlane(){
let url = "https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=SYD&destinationLocationCode=BKK&departureDate=2021-02-01&returnDate=2021-02-05&adults=1&max=3";
fetch(url,{
method:"GET",
headers:{
"Content-Type":"application/vnd.amadeus+json",
"Authentication":"Bearer code here"
},
mode:"cors",
catch:"default"
}).then(function(response){
if(response.ok){
return response.json();
}else{
throw new Error(error);
}
}).then(function(data){
console.log(data);
//query data here
document.getElementById("flight").insertAdjacentHTML('afterbegin',data.data[0].itineraries[0].segments[0].operating.carrierCode)
}).catch(function(error){
console.log(error);
});
}
getPlane();
Вызовы API самообслуживания Amadeus должны содержать
Authorization
HTTP-заголовок со значениемBearer access_token
с использованием сгенерированного вами токена доступа. В вашем коде вы добавляетеAuthentication
вместоAuthorization
. Кроме того,Content-Type
необходим только тогда, когда вы запрашиваете токен доступа. Дополнительную информацию см. В руководстве по авторизации.Спасибо ребята. По этой причине иногда нам нужен второй / третий глаз. Мне никогда не приходило в голову, что я на самом деле написал Authentication вместо Authorization, пока вы не указали на это. Теперь все работает нормально. Спасибо — person Kwasi Kumi; 11.12.2020