首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Amadeus入门指南编写Javascript时出错

使用Amadeus入门指南编写Javascript时出错
EN

Stack Overflow用户
提问于 2022-09-20 10:41:53
回答 1查看 61关注 0票数 0

我是新来的阿马迪乌斯,目前还停留在第一步。当我使用带有API密钥和API秘密的示例代码时,我使用的是测试URL (test.api.amadeus.com),得到以下信息:

代码语言:javascript
复制
ClientError

下面是我与密钥和秘密一起使用的后端代码:

代码语言:javascript
复制
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命令时,会得到以下错误:

命令:

代码语言:javascript
复制
curl -X GET 'https://test.api.amadeus.com/v1/shopping/flight-destinations?origin=PAR&maxPrice=200' -H 'Authorization: Bearer {{token}}'

响应

代码语言:javascript
复制
{
    "errors": [
        {
            "code": 38190,
            "title": "Invalid access token",
            "detail": "The access token provided in the Authorization header is invalid",
            "status": 401
         }
     ]
}

任何帮助都将不胜感激。我似乎看不出我哪里出了差错

EN

回答 1

Stack Overflow用户

发布于 2022-10-14 09:42:19

我曾用于反应,希望它能对你有所帮助。

代码语言:javascript
复制
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)
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73785397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档