可以将Google-App-Restricted API密钥用于Google Distance Matrix吗?

时间:2016-11-17 17:30:06

标签: android google-api google-distancematrix-api

我启用了Google Distance Matrix API并限制了Android应用的密钥,因为我将从我的Android应用发送http查询以接收json响应:

Key Restriction

没有限制,它可以工作,我得到预期的结果。但是当它被限制(使用我的包名和SHA1)时,我在json对象中收到一条失败消息,其中包含“REQUEST_DENIED”状态:

  

此IP,网站或移动应用程序无权使用此API密钥。从IP地址[ip_addr]收到的请求,空引用。

我从其他帖子了解到,距离矩阵API必须与服务器密钥一起使用,但在这个新的Google控制台中,没有服务器密钥的选项;你只需创建一个键并从上面选择一个限制 Firebase控制台会创建服务器密钥,我可以在我的Android应用中使用它,但没有限制。

那么如何将此密钥限制为仅使用我的Android应用程序中的Distance Matrix API?

1 个答案:

答案 0 :(得分:1)

请注意,Android应用限制仅适用于Google Maps Android API v2和Google Maps Places for Android。 Web服务(例如,距离矩阵API)不适用于此限制。

适用于Web服务的API密钥的限制是IP限制。

假设您的后端服务器上执行了Web服务请求。如果需要限制API密钥,则解决方法是创建中间服务器。您的Android应用程序应该向中间服务器发送请求,中间服务器应该向Google发送请求并将响应传递回您的应用程序。在这种情况下,您可以通过中间服务器的IP地址限制API密钥。