You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中通过Amadeus酒店API获取指定城市酒店代码?

解决Amadeus API获取城市酒店代码及查询酒店信息问题

你当前的代码存在两个核心问题:

  • 错误调用接口:hotel_offers_search是用来查询指定酒店的报价信息,而非获取城市酒店列表;
  • 缺少必填参数:hotel_offers_search要求传入checkInDate和checkOutDate,缺失会触发参数错误。

下面分两步实现你的需求:

1. 获取指定城市的酒店代码

使用Amadeus的reference_data.locations.hotels.by_city接口,传入城市IATA代码(比如巴黎是PAR)即可获取该城市的酒店列表及对应的hotelId:

!pip install amadeus
from amadeus import ResponseError, Client

# 初始化客户端(替换为你的真实凭证)
amadeus = Client(
    client_id='你的Client ID',
    client_secret='你的Client Secret'
)

try:
    # 获取巴黎(PAR)的酒店列表,可替换为目标城市的IATA代码
    city_hotels = amadeus.reference_data.locations.hotels.by_city.get(
        cityCode='PAR',
        radius=5,  # 可选:搜索半径(公里)
        radiusUnit='KM'  # 可选:半径单位
    )
    # 遍历输出酒店名称和对应代码
    for hotel in city_hotels.data:
        print(f"酒店名称: {hotel['name']}, 酒店代码: {hotel['hotelId']}")
except ResponseError as error:
    print(f"请求错误: {error}")

2. 查询指定酒店的日期报价信息

拿到目标酒店的hotelId后,调用hotel_offers_search接口并补充入住/退房日期参数:

try:
    # 替换为你获取到的hotelId,以及实际入住退房日期
    hotel_offers = amadeus.shopping.hotel_offers_search.get(
        hotelIds='RTPAR001',
        adults='2',
        checkInDate='2024-10-01',
        checkOutDate='2024-10-05'
    )
    # 打印酒店报价详情
    print(hotel_offers.data)
except ResponseError as error:
    print(f"请求错误: {error}")

关键注意事项

  • 城市IATA代码:可通过搜索目标城市的IATA代码获取(比如北京是PEK,上海是PVG);
  • 凭证替换:必须将代码中的client_id和client_secret替换为你在Amadeus开发者平台申请的真实凭证;
  • 日期格式:必须使用YYYY-MM-DD格式,且退房日期需晚于入住日期。

内容的提问来源于stack exchange,提问作者devtr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:39