我是新来的阿马迪乌斯,目前还停留在第一步。当我使用带有API密钥和API秘密的示例代码时,我使用的是测试URL (test.api.amadeus.com),得到以下信息:
ClientError下面是我与密钥和秘密一起使用的后端代码:
const express = require('express');
const Amadeus = require('amadeus');
const app = express();
const amadeus = new Amadeus({
clientId: '{API key}',
clientSecret: '{API secret}'
});
amadeus.shopping.flightOffersSearch.get({
originLocationCode: 'SYD',
destinationLocationCode: 'BKK',
departureDate: '2022-06-01',
adults: '2'
}).then(function(response){
console.log(response.data);
}).catch(function(responseError){
console.log(responseError.code);
});
app.use(express.static('client'));
app.listen(8080);在明示方面没有任何问题。
我可以使用"get started“指南上的curl命令获取访问令牌,但是当我运行以下curl命令时,会得到以下错误:
命令:
curl -X GET 'https://test.api.amadeus.com/v1/shopping/flight-destinations?origin=PAR&maxPrice=200' -H 'Authorization: Bearer {{token}}'响应
{
"errors": [
{
"code": 38190,
"title": "Invalid access token",
"detail": "The access token provided in the Authorization header is invalid",
"status": 401
}
]
}任何帮助都将不胜感激。我似乎看不出我哪里出了差错
发布于 2022-10-14 09:42:19
我曾用于反应,希望它能对你有所帮助。
const clientId = process.env.REACT_APP_CLIENT_ID
const clientSecret = process.env.REACT_APP_CLIENT_SECRET
export const getAmadeusToken = async () => {
var myHeaders = new Headers()
myHeaders.append("Content-Type", "application/x-www-form-urlencoded")
var urlencoded = new URLSearchParams()
urlencoded.append("client_id", clientId)
urlencoded.append("client_secret", clientSecret)
urlencoded.append("grant_type", "client_credentials")
var requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow",
}
try {
const response = await fetch(
"https://test.api.amadeus.com/v1/security/oauth2/token",
requestOptions
)
let token = await response.json()
//console.log(token.access_token)
return token.access_token
} catch (error) {
console.log(error)
}
}https://stackoverflow.com/questions/73785397
复制相似问题