为什么我的应用程序在给出 Google API 密钥限制后总是未被授权?

why my app is always not authorized after giving Google API key restriction?

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

所以基本上,我正在尝试使用 Goole Geocode API.

将我的经纬度地理编码反转为人类可读的地址

为了更安全,我对我的 API 应用程序的 API 密钥进行了更多限制。这是密钥的应用限制

而且我还给出了这样的 API 键限制,我确定我已经包含了地理编码 API

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

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

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

这里出了什么问题?如果将限制设置为 none

,它可以正常工作

您不能对 Google 地图网络服务使用 iOS 应用限制。假定您在后端服务器上执行 Web 服务请求,并且地理编码 API 和地点 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

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