我编写了一个使用request module通过POST方法调用Google Maps Geocode API的函数,该方法将进一步修改以返回所提供地址的纬度和经度。
但是,它现在返回错误:
Hostname/IP doesn't match certificate's altnames: "Host: www.maps.googleapis.com. is not in the cert's altnames: DNS:*.googleapis.com, DNS:*.clients6.google.com, DNS:*.cloudendpointsapis.com, DNS:cloudendpointsapis.com, DNS:googleapis.com"
我已确认从输入参数值正确设置了变量地址。这是否表明由uri和qs串联构建的最终查询字符串是错误的?如果是,我如何检查并验证最终字符串是什么?
我的功能如下所示:
var lookup = function(input) {
var address = input[0].address + ", " + input[0].city + ", " + input[0].state + ", " + input[0].zip;
var apiKey = '<mykey>';
var options = {
uri: 'https://www.maps.googleapis.com/maps/api/geocode/json?',
method: 'POST',
json: true,
body: input,
qs: {
address: address,
key: apiKey
}
}
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(info);
} else {
console.log(error);
}
});
};
答案 0 :(得分:0)
在大块的垃圾&#34;响应&#34;,在那里的某个地方有链接的最后一串。
但您可以随时手动输入密钥,例如
https://www.maps.googleapis.com/maps/api/geocode/json?key=yourApiKey
它是key =或apikey =检查googleapi文档
答案 1 :(得分:0)
原因是错误是将www.
错误地添加到Google Maps API的网址中的结果。正确的字符串是:https://maps.googleapis.com/maps/api/geocode/json?