我有一个充当网格的服务器。 我有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个密钥使用,并假设我使用不同的密钥用于相同的应用程序是禁止的。
答案 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即使超出限制:
此外,您执行not always need to provide an API key,但这些产品可能仅限于限制使用:例如the geocoding API。
我猜你不是在其中一种情况下(至少是子弹2和3),因为你的呼叫通过你的服务器。在移动应用程序中使用本机API可以解决问题,但它确实意味着相当多的开发我想。
值得注意的是,您应该针对某些用例申请特殊maps API for business许可,例如:只有付费用户才能看到你的地图。
总之,在使用需要的产品时,您需要拥有一个google maps API密钥。或者更确切地说,每个域名最多一个。