首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在颤动中限制Google方向API键

在颤动中限制Google方向API键
EN

Stack Overflow用户
提问于 2019-06-02 20:54:00
回答 1查看 2K关注 0票数 2

我一直在用Flutter开发一个移动应用程序,并希望很快在Play Store上发布它。它使用Google Directions API,现在我想将API密钥限制在这个特定的应用程序中。

我可以对应用程序进行签名,并且我已经将API密钥限制在我的应用程序的包名和密钥的SH1A指纹上,这两个都经过了双重检查。

无论如何,在调试模式(我假设这是故意的)和释放模式下,请求都会被拒绝。我通过dart HTTP包访问API。

我的理论是,通过这种方式,Directions API无法识别应用程序的包名或指纹。对吗?我可以通过使用google_maps_webview包或其他工具来修复它吗?

提前谢谢你,

保罗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-03 02:16:17

问题在于Directions API是一种web服务。Google假设web服务是从后端代码调用的,而不是直接从前端调用的。因此,方向API、地理编码API等web服务支持的唯一限制是IP地址限制。假设您从后台服务器向Google发送请求,并通过服务器的IP地址保护您的API密钥。Android应用程序限制不适用于web服务。

您可以在此处阅读每个API支持的限制类型:Which keys or credentials should I use for different Maps products?

对于移动应用程序,Google强烈建议为HTTP web服务请求创建一个中间服务器。因此,您的应用程序将向中间服务器发送请求,中间服务器将带有受IP地址保护的API密钥的方向API请求发送到Google,并将响应传递回您的应用程序。

我可以建议使用Google Maps API Web服务的Java客户端库来实现一个中间代理:

https://github.com/googlemaps/google-maps-services-java

此外,还有其他后端语言(Python、Go、NodeJs)的客户端库:

https://github.com/googlemaps/google-maps-services-python

https://github.com/googlemaps/google-maps-services-go

https://github.com/googlemaps/google-maps-services-js

我希望我的回答能澄清你的疑问。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56415252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档