首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 400中Amadeus的可用度

Python 400中Amadeus的可用度
EN

Stack Overflow用户
提问于 2022-08-23 23:19:53
回答 1查看 84关注 0票数 0

我试图在Python上使用Amadeus飞行可用度API的POST方法,但仍然给我错误400。有什么建议吗?非常感谢。

代码语言:javascript
复制
from amadeus import Client, ResponseError, Location
import requests

amadeus = Client(
client_id='My ID',
client_secret='My Secret')

try:
    flights = amadeus.get('/v2/shopping/flight-offers',originLocationCode = "GIG",destinationLocationCode = "ATL",departureDate = "2023-01-31",nonStop = "true",travelClass = "BUSINESS",adults = 1)
    body = flights.data[0]
    print(body)
except ResponseError as error:
    print(error)
   
try:
    availability = amadeus.post('/v1/shopping/availability/flight-availabilities', body)
    print(availability.result)
except ResponseError as error:
    print('headers: ', error.response.request.headers)
    print('body: ', error.response.request.params)
EN

回答 1

Stack Overflow用户

发布于 2022-08-24 00:05:00

根据他们的API文档,第二个API调用的主体需要采用以下格式:

代码语言:javascript
复制
{
  "originDestinations": [
    {
      "id": "1",
      "originLocationCode": "BOS",
      "destinationLocationCode": "MAD",
      "departureDateTime": {
        "date": "2021-11-14",
        "time": "21:15:00"
      }
    }
  ],
  "travelers": [
    {
      "id": "1",
      "travelerType": "ADULT"
    }
  ],
  "sources": [
    "GDS"
  ]
}

现在,你只是在给第二个电话,从第一个回报,这似乎不是他们想要的。

您还可能需要给出适当的标题,如下所示:

代码语言:javascript
复制
headers = {"Content-Type": "application/json; charset=utf-8"}

那你就会做

代码语言:javascript
复制
response = requests.post(url, headers=headers, json=body)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73465896

复制
相关文章

相似问题

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