3

我们知道任何人或任何公司都向我们提供了许多 API 来开发我们的应用程序。其中一些需要订阅并为您提供访问令牌或密钥等。您可以使用这些密钥访问和使用这些 API,这些密钥使他们了解特定应用程序发生了多少次访问。直到这里,一切对我来说似乎都是合法的。

但是,谷歌 API 呢?例如,

http://maps.googleapis.com/maps/api/elevation/xml?locations=48.3412,9.5479&sensor=true

这个 webservice(API) 为我们提供了给定坐标的高程。字符串中没有给出键。但是他们也声明他们有一些配额(使用限制)并且一天可以完成 2500 个请求,否则它将停止为您工作。

假设,我有一个电话应用程序,它把这个 web 服务调用为 XML 并解析它;或者有一个做同样事情的桌面应用程序。那么,谷歌如何能够了解我的手机应用程序完成了多少请求呢?我的应用程序是否会向 Google 发送不同手机的相同识别信息?或者这个配额只对一台机器有效?

有点迷茫,请大神赐教?谢谢

4

3 回答 3

4

这是我理解的一些提示。

以下片段是从 Elevation API 的文档页面粘贴的。

Elevation API 只能与在 Google 地图上显示结果结合使用;禁止使用高程数据而不显示请求高程数据的地图。有关允许使用的完整详细信息,请参阅Maps API 服务许可限制条款

Maps API 只允许授权请求。这意味着您也正在为此海拔 API 获取密钥。

添加

网站的超额使用量如何计算和计费? 摘自此链接

每天结束时计算超出每个 Maps API 服务使用限制的超额使用量。如果您的网站连续 90 天每天产生超额使用量,我们将通知您您需要以下列方式之一作出回应:一、二、三....等。

我认为这里重要的是referer在用户访问您的 webapp 时给出 webapp 域名. 现在的问题是,如果我使用我的另一台服务器来获取海拔 json 并显示在我的 webapp 上会怎样...

从道德意义上讲,平均每秒 3 个请求,连续不断 - 应该是一个伟大而大的应用程序 - 没有人会为这样的流量节省费用。但从技术上讲,这个问题仍然是一个未解决的问题。

于 2014-01-17T10:32:58.077 回答
1

更新:

根据文档(https://developers.google.com/maps/documentation/elevation/intro),没有 API_KEY 就不再允许 Elevation API 工作。谷歌实施了新的免费配额限制,自动超过配额计费(或启用“高级”计划的可能性)

无论如何,在 2016 年 9 月 API_KEY 还不是真正强制的,Elevation API 仍然可以在没有 API_KEY 的情况下工作,但它会超过全局配额限制。经常发生的情况是,在没有 API_KEY 的请求中,您会收到“over_quota”或“server_busy”错误。我认为他们正在减少全球配额,因为错误将会更加频繁。

这里有一些信息:https ://developers.google.com/maps/pricing-and-plans/standard-plan-2016-update

旧答案:

如果没有指定 API-Key,我认为谷歌使用每个 IP 配额。

我从这里推导出来的:

所有 Elevation API 应用程序都应使用 API 密钥。在您的请求中包含一个密钥:

  • 允许您在 Google Developers Console 中监控应用程序的 API 使用情况。
  • 启用每个密钥而不是每个 IP 地址的配额限制。
  • 确保 Google 可以在必要时就您的申请与您联系。

在此链接https://developers.google.com/maps/documentation/elevation

于 2015-03-16T17:19:14.747 回答
0

这些配额在每台机器上工作,因此您基本上获得了每个 IP 地址的配额。

于 2014-01-13T19:56:14.967 回答