我正在使用Amadeus自助服务网络服务构建旅行预订网站。从现在起,我希望用户能够使用实际名称而不是IATA代码进行城市或机场的相对搜索。问题在于Amadeus API并不能真正为我解决这个问题。之所以这样,是因为请求过程要求我必须包括国家代码作为请求参数的一部分。无论如何,没有countryCode字段,我可以实现这一目标吗?

在标头中包含访问令牌之后。我明白了https://i.stack.imgur.com/9OqZn.png

```async function airportAndCitySearch(keyword) {
  console.log("Searching " + keyword);
  var form = new FormData();
  var settings = {
    "url": "https://test.api.amadeus.com/v1/reference-data/locations?subType=CITY,AIRPORT&keyword=" + keyword + "&countryCode=DE",
    "method": "GET",
    "timeout": 0,
    "processData": false,
    "mimeType": "multipart/form-data",
    "contentType": false,
    "data": form
  };```


我设法通过此请求获得访问令牌。

  console.log("Requesting Token...");
  var settings = {
    "url": "https://test.api.amadeus.com/v1/security/oauth2/token",
    "method": "POST",
    "timeout": 0,
    "data": {
      "client_id": CLIENT_ID,
      "client_secret": CLIENT_SECRET,
      "grant_type": "client_credentials"
    }
  };

  $.ajax(settings).done(function (response) {
    console.log("Assigning Token variables...");
    ACCESS_TOKEN = response.access_token;
    console.log("Access Token : " + ACCESS_TOKEN);
  });
}






最佳答案

Amadeus的端点不需要国家/地区代码。

终点:

GET https://test.api.amadeus.com/v1/reference-data/locations?subType=AIRPORT,CITY&keyword=r&page[limit]=5


请参见此处的定义:https://developers.amadeus.com/self-service/category/air/api-doc/airport-and-city-search/api-reference

例:

https://test.api.amadeus.com/v1/reference-data/locations?subType=CITY,AIRPORT&keyword=paris&page[limit]=5

答案:https://pastebin.com/efrmUiYs

07-24 17:50