【问题标题】:Google Places API returns 0 results after deploying on Google CloudGoogle Places API 在 Google Cloud 上部署后返回 0 个结果
【发布时间】: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


【解决方案1】:

Place API Place Search Nearby Search 请求所需的参数,即键、位置和半径。您也可以输入可选参数,它们是 keyword(不是keywords), language, minprice&maxprice, name, 名称字段不再局限于地名。此字段中的值与关键字字段中的值组合并作为同一搜索字符串的一部分传递。我们建议对所有搜索词仅使用关键字参数。 opennow,rankby,type,pagetoken.

因此,您不能为您的请求分配多个关键字。

【讨论】:

    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多