2017-01-16 295 views
0

我已经编写了一个函数,它使用request module通过POST方法调用Google Maps Geocode API,该方法将被进一步修改以返回提供的地址的经度和纬度。NodeJS请求模块Google Maps GeoCode API Post

不过,现在返回错误:

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连接构建的最终querystring是错误的?如果是的话,我该如何检查和验证最终的字符串是什么?

我的功能如下所示:

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

的googleapi文档原来的错误是错误地添加www.的结果Google Maps API的网址。正确的字符串是:https://maps.googleapis.com/maps/api/geocode/json?

0
垃圾的大块“响应”

,某处有有链接的最后一个字符串。

但你总是可以手动把钥匙状

https://www.maps.googleapis.com/maps/api/geocode/json?key=yourApiKey 

是关键=或apikey =检查该

+0

谢谢,当我得到的错误,它不允许我步入响应对象。 – HendPro12