11

我正在尝试按如下方式使用 Google API 地理编码服务:

https://maps.googleapis.com/maps/api/geocode/json?&address=melbourne&key=xxx&sensor=false

我得到的回应总是:

{
   "results" : [],
   "status" : "REQUEST_DENIED"
}

我同时启用了 Google maps API v3 和 Places API 服务。我什至设置了帐单。我尝试过删除和重新创建许多键 - 都具有相同的效果。我尝试过来自不同网络的服务,结果也一样。

在 Google API 仪表板的报告部分中,我可以看到请求数量在累积,但响应始终为Request_Denied.

任何人都可以帮忙吗?

4

3 回答 3

24

在以下情况下,Places API 返回REQUEST_DENIED 状态:

  • 您尚未在 API 控制台的服务选项卡中激活 Places API 服务。
  • 您的请求中缺少关键参数。
  • key 参数与 API 控制台的 API 访问选项卡中的 API 密钥不匹配。
  • 您的 API 密钥未在 API 控制台的 API 访问选项卡中正确设置:
  • 如果您使用的是浏览器密钥,请检查您允许的推荐人是否正确。
  • 如果您使用的是服务器密钥,请检查您允许的 IP 是否正确。
  • 不支持 Android 和 iOS 密钥,请使用浏览器或服务器密钥。
  • 该请求未作为 HTTPS 请求发送,所有 Web 服务请求都需要 HTTPS。
  • 发送请求时使用了错误的 HTTP 方法:
  • 所有请求都必须作为 GET 请求发送,除了 Place Actions。
  • 所有地点操作都必须作为 POST 请求发送。

我未能将生产服务器的 IP 地址列入白名单。

于 2014-08-19T01:36:14.170 回答
0

似乎有意使该密钥不适用于地理编码的简单 HTTP 查询。谷歌正在阻止任何可能的数据再利用。请参阅“使用限制”

“地理编码 API 只能与谷歌地图一起使用;禁止地理编码结果而不显示在地图上。”

您可以使用此处说明的 Javascript API 将结果加载到地图上。

于 2013-04-17T04:27:06.257 回答
0

只需像这样更改 googleapis 源

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places"></script>
于 2016-07-19T20:35:25.627 回答