我们知道许多API是由任何人或任何公司提供给我们来开发我们的应用程序的。其中一些需要订阅,并为您提供访问令牌或密钥等。您可以使用这些密钥访问和使用这些API,这些密钥使他们了解特定应用程序的访问次数。在这里之前,一切对我来说似乎都是合法的。
但是,谷歌api呢?例如,
http://maps.googleapis.com/maps/api/elevation/xml?locations=48.3412,9.5479&sensor=true
此Web服务(API)为我们提供给定坐标的高程。字符串中没有给定键。但他们也声明,他们有一些配额(使用限制),一天可以满足2500个请求,否则它将停止为你工作。
假设我有一个电话应用程序,它将此Web服务调用为XML并对其进行解析;或者有一个做同样事情的桌面应用程序。那么,谷歌如何才能了解我的手机应用程序有多少请求?我的应用程序会向谷歌发送不同手机的相同身份信息吗?或者这个配额只对一台机器有效?
我有点困惑,你能启发我一下吗?感谢
这里有一些我理解的提示。
以下片段是从Elevation API的文档页面粘贴的
高程API只能与在谷歌地图上显示结果结合使用;禁止在不显示请求了高程数据的地图的情况下使用高程数据。有关允许使用的完整详细信息,请参阅"地图API服务条款许可限制"。
映射API仅允许授权请求。这意味着您也要为这个提升API取一个密钥。
添加
网站的超额使用量将如何计算和计费这个链接的摘录
超过每个Maps API服务的使用限制的超额使用将在每天结束时计算。如果您的网站连续90天每天都产生过量使用,我们将通知您需要通过以下方式之一进行响应:一、二、三。。。。等等
我认为这里重要的是referer
,它在用户访问网络应用程序时提供网络应用程序域名。现在的问题是,如果我使用我的另一个服务器来获取高程json并在我的webapp上显示。。。
从道德意义上讲,平均每秒3次请求,连续不断——这应该是一个伟大而庞大的应用程序——没有人会在这样的流量上节省支付
更新:
根据文件(https://developers.google.com/maps/documentation/elevation/intro)在没有API_KEY的情况下,高程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
老答案:
我认为谷歌使用每个IP配额,如果没有指定API-Key。
我从这里推断出:
所有Elevation API应用程序都应使用API键。在您的请求中包含一个密钥:
- 允许您在Google开发者控制台中监控应用程序的API使用情况
- 启用按密钥而不是按IP地址的配额限制
- 确保谷歌可以在必要时就您的申请与您联系
在这个链接https://developers.google.com/maps/documentation/elevation
这些配额是在每台机器的基础上工作的,所以基本上每个IP地址都有一个配额。