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

Gau*_*dav 5 android google-maps google-geocoding-api google-nearby

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

  1. IP 地址(Web 服务器、cron 作业等)。
  2. HTTP 引用 (Javascript)
  3. Android(适用于 SDK)
  4. ios(适用于 SDK)

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

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

我已经尝试了所有限制,但不起作用。

提前致谢。

小智 9

您可以将密钥限制为 Android 应用程序,并通过在 https 调用的标头中传递 android 包名称和 sha-1 来在我的应用程序中进行 http REST 调用:

  "X-Android-Package": "your.androidpackage.id"
  "X-Android-Cert": "0000000000000000000000000000000000000000"
Run Code Online (Sandbox Code Playgroud)

*请务必删除 sha 中的冒号 ':'。

您仍然需要传递并公开“key”作为 url 参数,但如果标头中没有凭据,它将被阻止。


小智 0

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