我的android和iOS应用程序对地理编码距离矩阵放置服务使用相同的不受限制的(平台和服务)api密钥。我想对单独的服务和平台使用单独的受限密钥。在Google Cloud Console中,如何限制我在不同平台上使用的密钥?我应该使用android给包名称,sha1和iOS提供捆绑包ID还是我应该使用服务器的IP地址?最佳做法应该是什么?我正在使用改型来打这些API。
有时键以this IP, site or mobile application is not authorized to use this API key. Request received from IP address 202.65.11.56, with empty referer
响应,并且在Somethime之后再次以适当的响应响应。为什么会发生这种异常?
我也在使用地点自动完成SDK搜索地点,并且为了获取几何图形,我正在使用place_id调用地址解析,是否应该为此在地址解析api密钥中授予地点api权限?
答案 0 :(得分:2)
对于您正在使用的所有Google Api用法,您可以使用一个ApiKey并对其进行限制。根据您的平台对其进行限制,并在各个平台中使用此密钥。既然您已经提到将在移动应用程序(Android和iOS)中使用,请按以下步骤操作。
创建项目>转到 API和服务> 凭据> 创建凭据
然后像这样限制密钥-
现在在Android和iOS平台上使用APIKey。这是限制您的Google API密钥的最佳方法。
希望有帮助!
答案 1 :(得分:1)
您最有可能将Web服务与API密钥一起使用,而该密钥仅适用于Android / iOS应用。
由于移动应用程序的限制,它只能用于Maps Android / iOS SDK,而不能用于任何Web服务或JavaScript API。
我建议做的是确定哪个网络服务出现此错误(可能是地址解析API,请仔细检查),并创建一个具有IP地址限制的单独API密钥(不是Android / iOS应用),以便用于Web服务。