我想使用谷歌地图api两个位置之间的路线。在我的IOS应用程序中。我尝试为项目创建公钥,并在开发人员控制台中启用API。但是我得到了这个错误:这个ip站点或移动应用程序没有被授权使用这个api密钥IOS。在此错误之后,我尝试为(IP地址(Web服务器,cron作业等))创建密钥限制的API密钥并设置我的IP地址,然后路由工作正常。但是当我一次又一次地从其他设备上尝试这个时,我得到了这个错误。 我应该使用此URL进行路由:
let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving&key=APIKEY"
如何在所有设备中处理我的代码来解决这个问题。
答案 0 :(得分:1)
您使用Google地图网络服务(Directions API)的API密钥支持IP限制,如以下文档中所述:
https://developers.google.com/maps/faq#using-google-maps-apis
问题是您无法知道安装应用程序的所有设备的IP地址。
您有以下选择:
使用不受限制的API密钥。请注意,API密钥需要HTTPS连接,因此API密钥不会从请求本身被截获,因为请求已加密。因此,在这种情况下,您应该获得API密钥不直接放在源代码中。如果您可以从配置或环境中读取它,那么它可能是可行的。
创建中间服务器。您的iOS应用程序应该向中间服务器发送请求,中间服务器应该向Google发送请求并将响应传递回您的应用程序。在这种情况下,您可以通过中间服务器的IP地址限制API密钥。
我希望这有帮助!