在Android中使用Google API密钥,但有限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android中使用Google API密钥,但有限制相关的知识,希望对你有一定的参考价值。

创建Google Maps API密钥时,我们可以应用四个限制:-

  1. IP地址(Web服务器,cron作业等)。
  2. HTTP Referer(javascript
  3. Andoid(对于SDK)
  4. ios(对于SDK)

现在,如果我们使用各自位置的键,一切都会正常。

问题出现,当我们想使用REST从移动设备(android / ios)访问某些API时,例如获取附近的位置以供用户输入。现在,哪种限制在这种情况下会起作用,以及如何处理呢?

我已经尝试了所有限制,但无法使用。

提前感谢。

答案

在这种情况下,Android / Ios限制将起作用,然后将SHA放在所需的位置,然后在Android上以防万一,则将您的程序包名称放在此处。它将起作用,还可以从控制台启用您正在使用的api。

另一答案

如果我的理解正确,您想通过移动应用程序使用Places API Web服务。通常,应该从后端服务器调用Google Maps API Web服务,并且它们仅支持IP地址限制。

我建议您看一下以下有关可以为不同API设置的限制的文章

https://developers.google.com/maps/faq#keysystem

如您所见,Places API Web服务只能使用IP地址限制。直接从移动设备发送Places API请求没有多大意义,因为每个设备都有自己的IP地址,并且您不知道用户设备的IP地址。因此,为了保护API密钥,唯一可行的解​​决方法是创建中间后端服务器。

应用程序应将请求发送到您的中间服务器,中间后端服务器应将Google地方信息API请求发送到Google,且受保护的API密钥限制为您服务器的IP地址,并将代理结果返回给您的应用程序。

在这种情况下,您需要两个API密钥。一个用于具有Android应用限制的Google Maps Android SDK,另一个用于具有IP地址限制的Places API Web服务。

我希望这会有所帮助!

以上是关于在Android中使用Google API密钥,但有限制的主要内容,如果未能解决你的问题,请参考以下文章

在 Android Studio 中使用 Gradle 管理 Google Maps API 密钥

在Android中使用Google API密钥,但有限制

限制对 Google API 的 Android 密钥的使用

如何为我的 Android 应用获取 Google Places API 密钥

获取适用于 Android 的 Google Places API 密钥

访问未配置 Android Google API 密钥