这是 StackOverflow 上的另一个问题 的跟进。
有什么方法可以限制我的 Android 应用程序仅访问 Google Web Services API(在我的例子中是Places API Web Service)? 我想从 place details 获取“address_components”字段,我不能使用 Android API 函数,因为该字段在 returned object.
我选择了 Android 应用程序密钥限制并在 Google 开发者控制台中输入了我的应用程序详细信息(程序包名称 + SHA-1 证书指纹)。我收到“您的 API 密钥上配置了每个 IP 或每个 Referer 限制……”错误消息,这是预期的。
我尝试填写“X-Android-Package”和“X-Android-Cert”标头,但注意事项已更改。有什么办法吗?
我正在分享云支持团队对这个问题的回应。希望它有效。
要解决这个问题,您有两个选择:
由于您是从移动应用程序环境发出请求,IP 地址将根据用户连接的位置而有所不同。作为解决方法,您可以设置代理服务器: https://developers.google.com/maps/api-security-best-practices #mobile-ws-static-web
完成后,通过代理服务器的 IP 地址限制您的 API 密钥。