调用Amadeus Flight Offer API时出现400错误求助
Amadeus Flight Offer Search API 400错误排查方案
可能的原因及解决方法
- 缺少必填参数:Amadeus Flight Offers Search API的
v2/shopping/flight-offers接口中,adults是必填参数(无默认值),你的代码未传入该参数,会触发400错误。需添加adults=1(或符合需求的人数)参数。 - 无效日期参数:你使用的
departureDate='2022-07-26'为过去日期,API不支持查询已过期的航班信息,需替换为未来的有效日期,比如2024-10-15。 - 未获取详细错误信息:当前异常仅返回状态码400,无法定位具体问题。可修改错误处理逻辑,打印API返回的详细错误内容。
修改后的代码示例
from amadeus import Client, ResponseError, Location import json AMADEUS = Client( client_id='my client id', client_secret='my secret' ) try: response = AMADEUS.shopping.flight_offers_search.get( originLocationCode='MAD', destinationLocationCode='ATH', departureDate='2024-10-15', # 替换为未来有效日期 adults=1 # 添加必填的成人人数参数 ) resp = json.dumps(response.data, indent=4) resp = json.loads(resp) print(resp) except ResponseError as error: # 打印详细错误信息,便于精准排查 print("详细错误内容:", error.response.body) print(error)
额外排查点
- 确认API密钥是否有权限访问
Flight Offers Search v2接口,可在Amadeus开发者后台查看权限配置。 - 核对机场代码正确性(MAD、ATH代码均有效,无需修改)。
内容的提问来源于stack exchange,提问作者vineet singh
相关产品推荐
相关产品推荐

