我实际上正在尝试在restify调用内调用google API。但是我有两个问题:
1-将标头发送到客户端后无法设置
下面的代码向我返回此错误,即使在寻找如何摆脱Google上的此错误后,我仍然找不到解决此错误的方法。
routes
.use(server)
.set('/test', 'get', function(req, res, next) {
var opts = {
host: "maps.googleapis.com",
port : 443,
path: "/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=xxx"
}
var rsl;
https.get(opts, function(res2) {
res2.on('data', (d) => {
rsl = d.toString('utf8');
res.send(200, rsl);
return next();
});
}).on('error', (e) => {
console.error(e);
});
})
2-我现在并不真的在乎这个,但这将是我的下一个问题。我在整个Google API调用中要求在json中获取结果,但仍然得到一个缓冲区,而且我不知道如何在json中启用它。如果您有任何想法,那就欢迎您!
答案 0 :(得分:0)
1-将标头发送到客户端后无法设置
headers
应该是发送带有请求的标头的选项的一部分。
var opts = {
host: "maps.googleapis.com",
port : 443,
path: "/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=xxx",
headers: {
}
}
google API调用以在json中获取结果,但仍然得到一个缓冲区
Google Maps api文档-https://developers.google.com/maps/documentation/geocoding/intro
以json格式返回响应的示例请求-https://maps.googleapis.com/maps/api/geocode/json?&address=dubai