Google地理编码API - REQUEST_DENIED

cs0*_*815 54 google-app-engine google-maps-api-3

显然,根据以下内容,我不需要"Maps API密钥"来使用"Google Geocoding API":

http://code.google.com/apis/maps/documentation/geocoding/index.html

但是,我得到了这个:

{
  "status": "REQUEST_DENIED",
  "results": [ ]
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着我的IP被阻止了?我该怎么做才能克服这个问题?

Rup*_*Rup 74

截至2014年底,此错误的常见原因是sensor从请求中省略了强制参数,如下所示.但是,截至2014/12/31或更早版本不再需要:

传感器参数

Google Maps API之前要求您包含传感器参数,以指示您的应用程序是否使用传感器来确定用户的位置.不再需要此参数.


您是否sensor在请求中指定了参数?

"REQUEST_DENIED"表示您的请求被拒绝,通常是因为缺少传感器参数.

sensor(必需) - 指示地理编码请求是否来自具有位置传感器的设备.该值必须为true或false

  • 提供`sensor = true`和`sensor = false`有什么区别?我的意思是*如果主叫电脑能够使用传感器那么*当我尝试`sensor = false`时,我得到**与我尝试`sensor = true`时的**完全相同.那么为什么不简单地使用`sensor = random(true/false)`? (4认同)
  • @Pacerier:这是统计数据.**可能*也会影响Google支付的任何许可费用.但谷歌极不可能说出为什么差异是必要的,特别是如果它是商业的. (4认同)
  • 我们偶尔会看到这个错误,即使_with_提供了`sensor` param.我不认为这是一个限制问题,因为我们在请求之间至少等待一整秒,我们也不接近2500每日请求限制.仍然不确定为什么我们偶尔看到这个,因为重复查询后来为我们工作...也许只是通常的"打嗝"来自他们? (3认同)

小智 19

删除APIKEY参数并且它的价值

例如. https://maps.googleapis.com/maps/api/geocode/json?address=[YOUR ADDRESS]&sensor=true

  • +1非常令人沮丧,这是有效的.API密钥实际上标识了我的应用程序...这允许Google绘制我的应用程序和用户的非常具体的图片.谷歌为什么拒绝这样的识别信息而支持匿名请求? (4认同)
  • 有没有人提到你需要删除API密钥的原因?这是否意味着特定API受"业务"部分的约束,我需要向Google注册才能使其运行?(+1 BTW!). (3认同)
  • 我已经有了'sensor = false`,这让它起作用了.谢谢! (2认同)

shi*_*hon 18

我发现在我的情况下,在添加key = API_KEY之后,在没有安全协议(意思是:http)的情况下调用服务会导致此问题.更改为https解决了它.


J.T*_*lor 11

我注意到如果你没有对地址进行正确的URL编码,你也会得到某些地址的REQUEST_DENIED.例如,在

123 Main St #B,Mytown,CA 94110

'#'字符需要编码为%23


小智 10

如果您只是复制并粘贴Google在其网站http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false中提供的示例网址, 则会因传感器参数错误而失败.您应该将其更改为true或false,而不是他们编写的那个.也许是你所犯的错误,就像它发生在我身上一样......


Gui*_*ano 10

对于那些在2017年或以后看这个页面的人,像我一样

传感器不再需要了,我试过并得到错误:

SensorNotRequired

我只需要激活我的Google Maps Geocoding API,这似乎是现在必要的.

希望它能帮助像我这样的人.

  • 是的,必须启用地理编码。我花了 4 个小时才意识到这是问题所在。 (2认同)

小智 7

我遇到了这个问题,我意识到我假设Geocoding附带了JS maps API.但是,它是一个单独的API,我没有在云控制台中启用它.启用它立即修复它.


Koe*_*lis 5

我使用 drupal 7 Location 模块也遇到了这个问题。自动填充所有空位置会导致此错误。手动执行对位置 api 的请求之一导致返回的 JSON 中出现此错误:

“与此 API 一起使用时,浏览器 API 密钥不能具有引用限制。”

解决这个问题很容易:创建一个没有任何限制的新密钥,并将其仅用于地理编码。

请注意那些刚接触 google api 密钥的人:通过限制,它们意味着将使用 api 密钥的请求限制为特定域/子域。(例如,只允许来自http://yourdomain.com 的请求)。