Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该为GMAPSAPI使用浏览器键还是Android键?_Android_Google Maps - Fatal编程技术网

我应该为GMAPSAPI使用浏览器键还是Android键?

我应该为GMAPSAPI使用浏览器键还是Android键?,android,google-maps,Android,Google Maps,我已经在Google开发者控制台中创建了一个Android密钥。但是我需要通过JSON调用来调用距离矩阵API。遗憾的是,API说我的呼叫不会被接受 { "destination_addresses" : [], "error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address XXXX, wi

我已经在Google开发者控制台中创建了一个Android密钥。但是我需要通过JSON调用来调用距离矩阵API。遗憾的是,API说我的呼叫不会被接受

{
    "destination_addresses" : [],
    "error_message" : "This IP, site or mobile application is not authorized to use this API key. Request received from IP address XXXX, with empty referer",
    "origin_addresses" : [],
    "rows" : [],
    "status" : "REQUEST_DENIED"
}
因此,我刚刚创建了一个浏览器键。但我不能为安全设置推荐人,因为我的电话来自Android应用程序


这可以接受吗,或者我应该换一种方式吗?

Android的关键是在你的应用程序中使用(Java代码)。 确保已添加并启用API:

确保已添加包名和SHA-1证书指纹: 指出:

谷歌地图API可用于Android或iOS应用程序、Web浏览器以及通过HTTP Web服务。每个平台中的API都需要特定类型的密钥。Google Maps距离矩阵API仅适用于服务器密钥。同一平台的API可以使用相同的密钥

这是描述

无论服务器密钥的描述是什么,在您的场景中,我认为它属于以下类型:

如果您使用任何带有浏览器键的web服务API,则过去可能会出现此错误对Web服务API的请求应使用服务器密钥标识。将您的密钥类型从浏览器密钥切换到服务器密钥。

鉴于Google Maps Distance Matrix API是一个Web服务API,我建议遵循Google官方文档中的建议——使用服务器密钥

我不确定这是否会对您有用,但实际上,在:

如何解决此错误:“与此API一起使用时,浏览器API键不能有引用限制。”?

您正在使用任何带有浏览器键的web服务API。出于安全原因,web服务API需要使用服务器密钥。将密钥类型从浏览器密钥切换到服务器密钥


干杯D

Mh,首先我认为这是正确的,但当我使用谷歌开发控制台上的凭证向导来确定哪个键是与距离矩阵一起使用的Android应用程序的正确键时,它建议我使用Android API键。但这不起作用。我必须另外设置浏览器键才能调用Web API。也许我得用另一种方法调用距离矩阵/你有没有找到解决办法?我想做同样的事情。使用本机iOS或Android密钥不适用于Matrix API,使用IP限制也不适用于移动设备。