首页 > 解决方案 > 在 Android 中使用有限制的 Google API Key

问题描述

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

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

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

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

我已经尝试了所有的限制,它不会工作。

提前致谢。

标签: androidgoogle-mapsgoogle-geocoding-apigoogle-nearbymap-api

解决方案


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

  "X-Android-Package": "your.androidpackage.id"
  "X-Android-Cert": "0000000000000000000000000000000000000000"

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

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


推荐阅读