【问题标题】:Android: Getting HTTP 403 Forbidden upon calling https://maps.googleapis.com/maps/api/geocode/xmlAndroid:在调用 https://maps.googleapis.com/maps/api/geocode/xml 时获得 HTTP 403 Forbidden
【发布时间】:2015-03-16 14:22:42
【问题描述】:

自 2012 年以来,我开发了一个 Android 应用程序。从现在开始,我使用免费的 Web 服务 api v3 进行地理编码,无需 API 密钥,因此每个 IP 的请求限制为 2,500 个,而 KEY 则没有问题:

https://maps.googleapis.com/maps/api/geocode/xml

在此期间,我的一些用户有时会遇到错误 403 - 在此 Web 服务器调用期间被禁止,一切都运行良好。

Google 是否为了使用他的网络服务而改变了一些东西?

最终我可以使用 Android 框架的 Geocoder 类。

但我还有另一个我调用的网络服务:

https://maps.googleapis.com/maps/api/directions/xml

这个 Web 服务也会出现 403 错误吗?到目前为止我不知道,因为如果我在地理编码中收到 403 错误,我将不会调用方向 web 服务。

【问题讨论】:

  • 我可能会说很有趣。我要说的是,如果您使用的是第 2 版,那就是贬值了,但事实并非如此。
  • 您可以发布您正在使用的网址吗?
  • 这里是一个例子:maps.googleapis.com/maps/api/geocode/… 它对我来说很好,但有时用户会遇到 403 错误。我认为不会超过配额限制,因为没有密钥会受到 IP 的限制。

标签: java android web-services google-maps google-maps-api-3


【解决方案1】:

这里有一些您可能想要查看的信息...您可以找到有关此here 的更多信息。

HTTP 403 响应

对 Web 服务的请求也可能会收到 HTTP 403(禁止) 错误。在大多数情况下,这是由于 URL 签名无效。到 验证这一点,删除客户端和签名参数,然后重试:

如果响应是 HTTP 200 (OK),那么签名就是问题所在。这 与使用限制无关;请参阅身份验证疑难解答 Google Maps API for Work 的 Web 服务章节中的问题 有关详细信息的文档。如果响应仍然是 HTTP 403 (禁止)错误,签名不一定是问题,它 可能与使用限制有关。这通常意味着您的 对 Web 服务的访问已被阻止,理由是您的 应用程序超过使用限制的时间过长或以其他方式 滥用网络服务。如果出现以下情况,请联系 Google Enterprise 支持 你遇到这个问题。对所有 Web 服务的请求都需要 URL 签名。请求也将被 HTTP 403(禁止)拒绝 包含客户端参数但缺少签名时出错 参数,反之亦然。

问题

您可以通过以下方式超出 Google Maps API Web 服务的使用限制:

每天发送的请求过多。发送请求太快,即太快 每秒许多请求。发送请求太快太久或 否则滥用网络服务。超过其他使用限制,例如 Elevation API 中每个请求的点数。

解决方案

以上问题可以通过结合两种方式来解决:

通过优化应用程序以使用 Web 服务来降低使用率 更有效率。在可能的情况下增加使用限制 为您的 Google Maps API for Work 购买额外津贴 执照。本文将重点介绍优化应用程序的方法 更有效地使用网络服务。

这里是 another 很好的链接,可能也会有所帮助。

【讨论】:

  • 这些都是我已经阅读过的内容,但我认为单个用户不能超过每个 IP 的配额限制(2,500 个请求/天)。并且应用程序每个地址只发出 1 个请求,因此每秒发出更多请求是完全不可能的。
猜你喜欢
  • 1970-01-01
  • 2012-11-13
  • 2013-07-05
  • 1970-01-01
  • 2014-05-29
  • 1970-01-01
  • 2020-01-11
  • 2021-09-14
  • 1970-01-01
相关资源
最近更新 更多