google-maps - 如何保护我的 api key ?

标签 google-maps google-maps-api-3 google-api google-maps-android-api-2 api-key

我想从我的 android/ios 应用程序中使用自动完成 api。为此,我需要像这样调用 url:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=paris&key=<myapikey>

问题是:什么可以让其他人不会从我的应用程序中提取我的 api key 并将其用于自己的目的?这很重要,因为最后由谷歌支付使用费用的是我......

最佳答案

您的目的是调用 Places API Web 服务。 Google map 网络服务仅支持 IP 地址限制。

您可以在以下页面查看每个 API 支持的限制类型:

https://developers.google.com/maps/faq#keysystem

为了保护与您的示例请求一起使用的 API key ,您应该创建一个中间服务器并从该服务器发送您的请求。因此,您的应用程序应向中间服务器发送请求,中间服务器应向 Google 发送带有 protected API key 的 Places 自动完成请求,并将响应传递回您的应用程序。在这种情况下,您可以使用中间服务器的 IP 地址来保护您的 API key 未经授权的访问。

我希望这有帮助!

关于google-maps - 如何保护我的 api key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51698672/

相关文章:

android - 我应该使用什么版本的 firebase 和谷歌地图?

javascript - 使用 Knockout.JS 和谷歌地图 API

javascript - 如何在 Google map 中收听用户生成的缩放?

javascript - 缺少结束时间谷歌日历

google-api - Dialogflow v2 客户端库不工作 |错误: Could not load the default credentials

google-api - 是否有 "People also ask"的谷歌 API?

javascript - Google Maps 向 map 添加标记,然后在 Ruby on Rails 中存储纬度和经度

json - Flutter Google Maps Polyline-无法将参数类型 'LatLng'分配给参数类型 'List<LatLng>'

javascript - 如何检查是否支持 Google Maps JavaScript API?

iOS GoogleMaps SDK 错误 : "[__NSCFDictionary objectForKeyedSubscript:]: Unrecognized selector sent"