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

问题描述 投票:0回答:2

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

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

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

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

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

提前感谢。

android google-maps google-geocoding-api google-nearby map-api
2个回答
0
投票

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


0
投票

如果我的理解正确,您想通过移动应用程序使用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服务。

我希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.