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

调用Amadeus reference-data.locations接口使用非英文关键词报错如何解决

Amadeus reference-data.locations 接口非英文关键词查询问题解答

核心结论

Amadeus 自助服务API的reference-data.locations接口本身不支持非英文关键词查询,和编码格式无关。

具体说明

  • 接口官方对keyword参数的输入规则做了明确限制:仅支持传入英文城市名、英文机场名、IATA三字码这三类有效值,中文等其他语种的地名输入都会触发报错,属于接口的原生限制。
  • 无需对中文关键词做额外编码尝试:无论将中文转换为URL编码、UTF-8转义字符串等格式传入,接口都不会识别对应内容,依然会返回参数错误或空结果。
  • 可行的落地方案:在业务层新增中文地名映射逻辑,提前维护中文城市/机场名到英文名称或IATA码的映射关系,用户输入中文后先匹配得到合规的参数值,再传入接口发起请求即可。

简易示例代码:

// 中文城市名转IATA码映射表,可根据业务需求扩展
const zhCityToIata = {
  '北京': 'BJS',
  '上海': 'SHA',
  '广州': 'CAN',
  '深圳': 'SZX'
}

// 接口调用逻辑
async function queryCityLocation(zhCityName) {
  const keyword = zhCityToIata[zhCityName] || zhCityName
  try {
    const res = await amadeus.referenceData.locations.get({
      subType: 'CITY',
      keyword: keyword
    })
    return res.data
  } catch (err) {
    console.error('请求失败', err)
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:42:03