【发布时间】:2020-12-25 23:33:20
【问题描述】:
我开发了一个由 Google Places API 提供支持的应用程序。问题是地方在本地运行时正在加载,但在谷歌云上部署后没有。我正在使用默认关键字来获取所需的结果,但令人惊讶的是它在部署后不起作用。我尝试更改关键字,但仍然返回 0 个结果。请看我下面的代码
await axios
.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json", {
params: {
key: process.env.GOOGLE_PLACE_API_KEY,
location: req.body.ll,
radius: 20000,
keyword: "popular destinations near me",
},
})
我得到的回应
{ html_attributions: [], results: [], status: 'ZERO_RESULTS' }
邮递员请求相同作品没有任何问题
和使用原始 JSON 数据发送的相同请求,我收到一个错误
{
"key": "my key",
"location": "my location",
"radius": "20000",
"keyword": "popular destinations near me"
}
{
"error_message": "You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account",
"html_attributions": [],
"results": [],
"status": "REQUEST_DENIED"
}
使用邮递员发送的相同请求会返回 20 多个结果。我不知道上述请求可能有什么问题。任何帮助表示赞赏,谢谢。
【问题讨论】:
-
我肯定遗漏了一些部分,你能在这里复制粘贴你在邮递员中提出的 API RAW 请求吗?让我们看看那有什么区别..
-
@ShawnDiWu 我用邮递员的截图编辑了我的问题。请看一看。我没有发送原始请求,但让我尝试发送它,看看它是如何工作的。谢谢。
-
参数:{键:process.env.GOOGLE_PLACE_API_KEY,位置:req.body.ll,半径:20000,关键字:“我附近的热门目的地”,
-
我试过了,但效果不佳。
-
在您的代码中添加error handle 以查看弹出的错误。
标签: node.js reactjs google-cloud-platform google-places-api