如何通过节点使用HERE API?邮递员返回的值不相同

问题描述 投票:0回答:1

我对node和Here API还是很陌生,我尝试使用Here地理编码API从地址获取点的地理位置。

[当我发送请求时(如下代码所示),我得到了一些响应,但有时与邮递员的响应有所不同,即使端点和参数相同。

例如,对于地址100 rueAndréDubois,巴黎,我通过axios发送的请求路径为/ v1 / geocode?apikey =&q = 100 + rue +André+ Dubois,++ Paris +,它返回一个空数组,但是在邮递员https://geocode.search.hereapi.com//v1/geocode?apikey=<MY KEY>&q=100+rue+André+Dubois,++Paris+上返回一项。

我在实现中是否犯了错误,或者axios / node和postman之间有区别?

var axios = require('axios');
var baseUrl = "https://geocode.search.hereapi.com/v1/geocode";
var login = "?apikey=<MY KEY>";
var qualified = "&qq=";

//list of the adresses we want to geocode
var addresses = [
    {
        city: "CAUSSADE",
        postalCode: "85300",
        street: "impasse de meaux",
        houseNumber: "538",
        format:"FR"
    },
    {
        city: "Paris",
        street: "rue André Dubois",
        houseNumber: "100",
        format: "FR"
    }
];

//return the value if exist, empty string otherwise
var NonNull = function(value) {
    return value == null ? '' : value;
}

//format the request in case of a free text query
var freeText = function (address) {
    var formattedAddress = '&q=';
    formattedAddress += NonNull(address.houseNumber) + " " + NonNull(address.street) + ", " + NonNull(address.postalCode) + " " + NonNull(address.city) + " " + NonNull(address.country);

    return formattedAddress.replace(/ /gi, "+");
}

//create request for qualified and free text. Display then the result.
var createRequest = function () {
    var requests = [];
    addresses.forEach(address =>
        axios.get(baseUrl + login + freeText(address))
        .then(response => {printResponse(response);})
    );
}

// display response
var printResponse = function(response) {
    console.log(response.request.path);
    console.log(response == null ? "response: undefined" : "response: " + JSON.stringify(response.data));
}

createRequest();
node.js postman here-api
1个回答
0
投票

我找到了答案,这是由于“ e”上的重音:é

© www.soinside.com 2019 - 2024. All rights reserved.