【问题标题】:Amadeus Point of Interest Search INVALID_DATA_RECEIVEDAmadeus 兴趣点搜索 INVALID_DATA_RECEIVED
【发布时间】:2020-05-20 07:33:49
【问题描述】:

使用 Amadeus Node SDK,Amadeus Points of Interest API 仅适用于某些地理坐标。

我目前正在查看法国的一些兴趣点,但巴黎北部的一切似乎都不起作用,Amadeus 以错误 INVALID DATA RECEIVED 进行响应。

有效坐标示例(法国奥尔良):

纬度:47.90082
经度:1.90283

不起作用的坐标示例(法国鲁昂):

纬度:49.443231 经度:1.0999

错误响应示例:

{"response":{"contentType":"application/vnd.amadeus+json","statusCode":400,"request":{"host":"api.amadeus.com","port":443,"ssl":true,"scheme":"https","verb":"GET","path":"/v1/reference-data/locations/pois","params":{"latitude":49.443231,"longitude":1.0999,"radius":20},"queryPath":"/v1/reference-data/locations/pois?latitude=49.443231&longitude=1.0999&radius=20","bearerToken":"TOKEN","clientVersion":"4.0.0","languageVersion":"12.2.0","appId":null,"appVersion":null,"headers":{"User-Agent":"amadeus-node/4.0.0 node/12.2.0","Accept":"application/json, application/vnd.amadeus+json","Authorization":"Bearer TOKEN","Content-Type":"application/vnd.amadeus+json"}},"body":"{"errors":[{"status":400,"code":4926,"title":"INVALID DATA RECEIVED","detail":"","source":{"parameters":["longitude"]}}]}","result":{"errors":[{"status":400,"code":4926,"title":"INVALID DATA RECEIVED","detail":"","source":{"parameters":["longitude"]}}]},"parsed":true},"description":[{"status":400,"code":4926,"title":"INVALID DATA RECEIVED","detail":"","source":{"parameters":["longitude"]}}],"code":"ClientError"}"} 
var Amadeus = require('amadeus');

var amadeus = new Amadeus({
  clientId: 'PRODUCTION_ID',
  clientSecret: 'PRODUCTION_SECRET',
  hostname: 'production'
});

exports.autocompleteCreate = async (req, res) => {

    console.log(req.body);
    // I'm getting lat/lng from a POST request
    var latitude = parseFloat(JSON.stringify(req.body.latitude).toString().substring(0,9));
    var longitude = parseFloat(JSON.stringify(req.body.longitude).toString().substring(0,6));

    amadeus.referenceData.locations.pointsOfInterest.get({
        latitude: latitude,
        longitude: longitude,
        radius: 20
    }).then(
        function(response) {
            console.log(response)
        })
}

【问题讨论】:

    标签: amadeus


    【解决方案1】:

    问题与半径的计算有关(针对特定地点)。它已被修复并交付。你不应该再面对这个问题了。

    【讨论】:

    • 我使用的是生产环境。因此,我得到了位于巴黎南部的法国任何城市的结果,但北部的任何城市都行不通。您是否尝试过使用我为鲁昂提供的纬度/经度查询 POI?
    • 我做了:GET https://api.amadeus.com/v1/reference-data/locations/pois?latitude=49.443231&longitude=1.0999,它对我来说很好用。你确定吗。你用的是生产环境?能否分享一下你的代码是如何初始化 SDK 以及如何调用 API 的?
    • 好的,我重现了您的问题,似乎添加 20 的半径是问题所在。让我问发展,然后回到你身边
    • 谢谢!在我的原始帖子中添加了一个示例代码以防万一。注意:对于经度,我尝试使用不同的小数位数来查看是否可能是问题所在,但对于某些城市没有任何作用。
    • 还是没有修复,我在莫斯科搜索了一下,还是一样的错误,req:https://api.amadeus.com/v1/reference-data/locations/pois?latitude=55.751849391735284&longitude=37.62542724609376&radius=15&categories=SIGHTS,res:{"errors":[{"status":400,"code":4926,"title":"INVALID DATA RECEIVED","detail":"","source":{"parameters":["longitude"]}}]}
    猜你喜欢
    • 2015-11-12
    • 2012-04-25
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2016-08-16
    • 2011-04-15
    • 2018-01-18
    • 2013-08-05
    相关资源
    最近更新 更多