ios - 为什么我的应用程序在给予谷歌 API key 限制后总是未被授权?

标签 ios google-maps google-maps-api-3 google-cloud-platform google-geocoder

我曾尝试阅读一些关于此问题的类似主题。但不幸的是,我仍然遇到同样的问题。

所以基本上,我正在尝试使用 Goole Geocode API 将我的经纬度地理编码反转为人类可读的地址。

为了更安全,我像这样对我的 iOS 应用程序的 API key 进行了更多限制。这是 key 的应用限制

enter image description here

而且我还像这样给出了 API key 限制,我确信我已经包含了地理编码 API enter image description here

而且我还为我的项目启用了地理编码 API enter image description here

但是当我运行应用程序时...... 我收到错误消息

This IP, site or mobile application is not authorized to use this API key. Request received from IP Address xxxxxx with empty referer

这里出了什么问题?如果限制设置为无,它工作正常

最佳答案

您不能对 Google map 网络服务使用 iOS 应用程序限制。假定您在后端服务器上执行 Web 服务请求,并且 Geocoding API 和 Places API 唯一支持的限制是 IP 地址限制。

这里记录了这个事实

https://developers.google.com/maps/api-key-best-practices#api_key_table

对于移动应用程序,Google 建议使用代理请求的中间服务器。您的应用向中间服务器发送请求,中间服务器使用 protected API key 向 Google 发送请求,并将响应传回移动应用。在这种情况下,您可以通过中间服务器的 IP 地址应用限制。

您可以在

上阅读有关此方法的信息

https://codelabs.developers.google.com/codelabs/google-maps-web-services-proxy/index.html

希望这个回答能解决你的疑惑。

关于ios - 为什么我的应用程序在给予谷歌 API key 限制后总是未被授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52959432/

相关文章:

ios - 使用 let buttonPosition = sender.convertPoint(CGPointZero, toView : self. tableView) 点击时更改 TableViewCell 中 UIButton 的标题

javascript - 谷歌地图删除控件

android - 没有api_key的 fragment 中的谷歌地图

javascript - 如何在 Google Maps API 上定位自定义按​​钮控件?

ios - Xcode 6.3 与 Swift 1.0 可能吗?

ios - 当 matchData 发生变化时,GameKit 基于回合的监听器无法可靠地调用

java - 用于查找给定距离内所有地理点的Android算法

javascript - 与异步 Node JS API 调用作斗争

javascript - Google Maps API 邮政编码边界

ios - 多设备混合应用程序 : Use Xcode6 and iOS8 SDK