移动应用程序的Google Geocode API密钥限制

时间:2019-07-01 16:20:02

标签: android ios google-maps google-geocoding-api

我的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权限?

2 个答案:

答案 0 :(得分:2)

对于您正在使用的所有Google Api用法,您可以使用一个ApiKey并对其进行限制。根据您的平台对其进行限制,并在各个平台中使用此密钥。既然您已经提到将在移动应用程序(Android和iOS)中使用,请按以下步骤操作。

转到Google Cloud Console

  

创建项目>转到 API和服务> 凭据> 创建凭据

然后像这样限制密钥-

  1. 对于Android,请在此处添加您的软件包名称和SHA-1证书

enter image description here

  1. 对于iOS,请在此处添加您的捆绑ID

enter image description here

现在在Android和iOS平台上使用API​​Key。这是限制您的Google API密钥的最佳方法。

希望有帮助!

答案 1 :(得分:1)

您最有可能将Web服务与API密钥一起使用,而该密钥仅适用于Android / iOS应用。

由于移动应用程序的限制,它只能用于Maps Android / iOS SDK,而不能用于任何Web服务或JavaScript API。

我建议做的是确定哪个网络服务出现此错误(可能是地址解析API,请仔细检查),并创建一个具有IP地址限制的单独API密钥(不是Android / iOS应用),以便用于Web服务。