调用航班日期时出现 NotFound 错误 API

NotFound error when calling flights date API

我一直在使用 NodeJS library 查询未来 60 天内某条航线的最便宜航班的价格。即使在切换到生产环境后,API 对于一些常见的路由(如 SFO 到 YYC)也会抛出 404 错误(详见下文)。

请告诉我如何解决这个问题。

NotFoundError {
  response: Response {
    headers: {
      date: 'Tue, 19 Oct 2021 17:09:32 GMT',
      'content-type': 'application/vnd.amadeus+json',
      'content-length': '263',
      connection: 'close',
      'ama-internal-message-version': '14.1',
      'ama-request-id': '00010UI9218IBV',
      'ama-gateway-request-id': 'rrt-0b7b1036c139b8050-a-eu-4707-50043169-1',
      'access-control-allow-headers': 'origin, x-requested-with, accept, Content-Type, Authorization',
      'access-control-max-age': '3628800',
      'access-control-allow-methods': '*',
      server: 'Amadeus',
      'access-control-allow-origin': '*'
    },
    statusCode: 404,
    request: Request {
      host: 'api.amadeus.com',
      port: 443,
      ssl: true,
      scheme: 'https',
      verb: 'GET',
      path: '/v1/shopping/flight-dates',
      params: [Object],
      queryPath: '/v1/shopping/flight-dates?origin=SFO&destination=YYC&departureDate=2021-10-19%2C2021-12-
      18&oneWay=true&viewBy=DATE',
      bearerToken: '[REDACTED]',
      clientVersion: '5.7.0',
      languageVersion: '14.16.1',
      appId: null,
      appVersion: null,
      headers: [Object]
    },
    body: '{"errors":[{"status":404,"code":6003,"title":"ITEM/DATA NOT FOUND OR DATA NOT EXISTING","detail":"No price result found"},{"status":404,"code":6003,"title" :"ITEM/DATA NOT FOUND OR DATA NOT EXISTING","detail":"No price results found for input combined criteria"}]}',
    result: { errors: [Array] },
    data: undefined,
    parsed: true
  },
  description: [
    {
      status: 404,
      code: 6003,
      title: 'ITEM/DATA NOT FOUND OR DATA NOT EXISTING',
      detail: 'No price result found'
    },
    {
      status: 404,
      code: 6003,
      title: 'ITEM/DATA NOT FOUND OR DATA NOT EXISTING',
      detail: 'No price results found for input combined criteria'
    }
  ],
  code: 'NotFoundError'
}

我查询数据的代码如下所示:

const Amadeus = require("amadeus");

var client = new Amadeus({
  hostname: "production",
  clientId: FLIGHT_SEARCH_API_KEY,
  clientSecret: FLIGHT_SEARCH_API_SECRET,
});

const response = await client.shopping.flightDates.get({
  origin,
  destination,
  departureDate: `${currentDate},${lastDate}`,
  oneWay: true,
  viewBy: "DATE",
});

Flight Inspiration Search 和 Flight Cheapest Date Search API 建立在预先计算的缓存之上。 API 每天根据过去的搜索和预订计算最热门的选项并填充缓存,这意味着缓存是动态的。如果您需要访问 Amadeus 的完整库存,您需要使用实时 Flight Offers Search API.