如何使用带有受限 API 键的 Google-Directions-Android 库

How to use Google-Directions-Android library with a restricted API key

我是 Android 的新手,正在处理 google 地图项目。为此,我使用 this 库在两点之间绘制一条路线。

当 google 映射 api 键没有限制时,这很好用。但是,当对我的应用程序的包名称和 sha1 密钥应用限制时,它不会显示路由。

它抛出一个异常说:

This IP, site or mobile application is not authorized to use this API key. Request received from IP address XX.XX.XXX.XXX, with empty referrer

有什么方法可以通过受限 api 密钥使用此库吗?我如何向该库添加引荐来源网址?

看起来这个库使用方向 API web service,所以你不能使用 Android-restricted API 键。如果这样做,您会收到报告的 request_denied 错误。这是因为网络服务是服务器端的,API键只能受IP地址限制。

话虽如此,您正在从 Android 应用调用 API。 Google's documentation 状态:

IP restrictions might be impractical, such as in mobile applications and cloud environments that rely on dynamic IP addresses. When using Maps Web Service APIs in these scenarios, secure your apps using one or more of the following techniques:

pinning, proxy server, obfuscation

因此,设置代理服务器可能是正确保护您的 API 密钥的最佳方式。

希望这能澄清您的问题。