为同一台服务器使用多个Google Maps API密钥?

时间:2012-10-30 11:31:29

标签: google-maps

我有一个充当网格的服务器。 我有3个移动应用程序,每个都有自己的谷歌地图api密钥 所有三个应用程序都会调用我的服务器,该服务器使用特定的应用密钥调用google apis。

所以App1有key1 App2有Key 2 App3有关键3

当我需要App1的说明时,我的服务器使用密钥1调用google api 当我需要App2的指示时,我的服务器用密钥2调用google api 当我需要App3的指示时,我的服务器使用密钥3调用google api

所以我的服务器就像一个API网格。这是针对谷歌条款?我担心他们会查看服务器的IP地址,看看有3个密钥使用,并假设我使用不同的密钥用于相同的应用程序是禁止的。

1 个答案:

答案 0 :(得分:18)

简短的回答(摘自常见问题解答)非常简单:不,在这种情况下你不能使用两把钥匙。

参见https://developers.google.com/maps/faq#usage_avoidance - 他们甚至保留“有权拒绝从任何网站访问地图API”这样做,就像你担心的那样。

使用多个密钥,即使只是为了方便您,也意味着他们试图欺骗并绕过the limitation of 25,000 requests per day and per service。他们不喜欢这样,因为他们希望他们的地图API的大用户付费。价格列在on the same page

您应该完整阅读常见问题解答段落“了解服务条款”和“使用限制” - 它很短,但有时候有点棘手。你会发现有一些情况you do not actually have to pay即使超出限制:

  • 您使用的是Google地球API
  • 您正在使用移动平台上的原生地图API
  • 您正在通过仅嵌入
  • 展示Google地图
  • 您的应用“符合公众利益(由Google自行决定)”

此外,您执行not always need to provide an API key,但这些产品可能仅限于限制使用:例如the geocoding API

我猜你不是在其中一种情况下(至少是子弹2和3),因为你的呼叫通过你的服务器。在移动应用程序中使用本机API可以解决问题,但它确实意味着相当多的开发我想。

值得注意的是,您应该针对某些用例申请特殊maps API for business许可,例如:只有付费用户才能看到你的地图。

总之,在使用需要的产品时,您需要拥有一个google maps API密钥。或者更确切地说,每个域名最多一个。