12

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

所以 App1 有密钥 1 App2 有密钥 2 App3 有密钥 3

当我需要 App1 的方向时,我的服务器使用键 1 调用 google api 当我需要 App2 的方向时,我的服务器使用键 2 调用 google api 当我需要 App3 的方向时,我的服务器使用键 3 调用 google api

所以我的服务器就像一个 API 网格一样工作。这违反谷歌条款吗?恐怕他们会查看服务器的 IP 地址,看到使用了 3 个密钥,并假设我对相同的应用程序使用不同的密钥,这是被禁止的。

4

1 回答 1

24

简短的回答(来自常见问题解答)非常简单:不,在这种情况下您不能使用两个键。

请参阅https://developers.google.com/maps/faq#usage_avoidance - 正如您所担心的那样,他们甚至保留“禁止从任何站点访问地图 API 的权利”。

使用多个密钥,即使这对您来说只是方便的问题,也意味着他们试图欺骗并绕过每天和每项服务 25,000 个请求的限制。他们不喜欢这样,因为他们当然希望地图 API 的大用户付费。价格列在同一页上

您应该完整阅读常见问题解答段落“了解服务条款”和“使用限制” - 它很短,但有时有点棘手。您会看到,在某些情况下,即使超出限制,您实际上也不必付费:

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

此外,您并不总是需要提供 API 密钥,尽管这些产品可能仍仅限于有限使用:例如地理编码 API

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

还值得注意的是,对于某些用例,您应该为商业许可申请特殊的地图 API,例如,当只有付费用户才能看到您的地图时。

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

于 2012-11-11T10:05:40.443 回答