为什么在给予Google API密钥限制后,我的应用始终没有获得授权?

时间:2018-10-24 00:14:51

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

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

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

为了更加安全,我对iOS应用程序的API密钥设置了更多限制。这是密钥的应用限制

enter image description here

并且我还给出了API Key限制,我确定我已经包含了地址解析API enter image description here

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

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

  

此IP,站点或移动应用程序无权使用此API   键。来自IP地址xxxxxx的请求(带有空引荐来源)

这里出了什么问题?如果将限制设置为无,则效果很好

1 个答案:

答案 0 :(得分:2)

您不能将iOS应用限制用于Google Maps Web服务。假定您是在后端服务器上执行Web服务请求,而对Geocoding API和Places API唯一受支持的限制是IP地址限制。

此事实记录在这里

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

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

您可以在

上了解有关此方法的信息

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

我希望这个答案能解决您的疑问。