一旦我限制了我的Google API密钥,它就不再起作用了。

4

我有一个谷歌API密钥,用于谷歌地图一直都很好用。现在,我正在尝试将Google Maps Distance Matrix API与我的Android应用程序一起使用,但只有在不将密钥限制为我的Android应用程序时才能正常工作。一旦我将密钥限制为我的包和SHA1指纹,它就无法工作。我已经仔细检查了AndroidManifest中的包名称,并确保我使用的是正确的密钥库和别名组合,但似乎没有用。还有其他可以检查的吗?


我不明白那个特定的API在移动设备上如何与Android主要的Google Maps产品相似。你尝试过通过HTTP/JSON调用API端点并使用指定的密钥吗? - Morrison Chang
不再起作用是什么意思?你得到了什么响应? - Charuක
对不起,我正在尝试使用与我的Google Maps密钥相同的发布密钥。我已经尝试使用新密钥,但结果与我描述的相同。Google地图API正常工作,但这个使用距离矩阵API的新功能无法工作。在移动设备上,结果是空数据集。无法使用Postman进行测试,因为它受限于Android,并且我在响应中收到相关消息。我无法弄清楚为什么Android上的响应为空。如果使用相同的密钥未受限制,则代码可以正常工作。 - Barodapride
1个回答

4
请注意,Android 应用限制仅适用于 Google Maps Android API v2 和 Google Maps Places for Android。Web 服务(如距离矩阵 API)将不受此限制。
对于 Web 服务 API 密钥的限制是 IP 限制。
假设 Web 服务请求是在您的后端服务器上执行的。如果您需要限制 API 密钥,则解决方法是创建一个中间服务器。您的 Android 应用程序应向中间服务器发送请求,中间服务器应向 Google 发送请求并将响应传回您的应用程序。在这种情况下,您可以通过中间服务器的 IP 地址限制 API 密钥。

有人知道这是否仍然准确吗?我使用云翻译API的密钥。我将密钥限制为我的Android应用程序,但请求不再起作用。 - M.Paunov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接