我已经在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应用程序。
这是可以接受的吗,或者我应该走另一条路?
发布于 2016-05-10 07:15:34
Android密钥是在您的应用程序(Java代码)中使用的。确保您确实添加了启用接口:https://console.developers.google.com/apis/api/maps_android_backend/overview
确保您添加了包名和SHA-1证书指纹:https://console.developers.google.com/apis/credentials/key/0
发布于 2016-05-10 09:56:06
Google Maps Distance Matrix API docs声明:
Google Maps API可用于安卓或iOS应用程序、网页浏览器,也可通过HTTP Web服务使用。每个平台的API都需要特定类型的密钥。Google Maps Distance Matrix API只能与服务器密钥一起使用。同一平台的API可以使用相同的密钥。
下面是Server key的描述。
不管服务器密钥的描述是什么,在您的方案中,我认为它属于:
过去,如果您将任何web服务API与浏览器密钥一起使用,则可能会出现此错误。对Web service API的请求应该使用服务器密钥进行标识。将密钥类型从浏览器密钥切换为服务器密钥。
考虑到Google Maps Distance Matrix API是一个Web服务API,我建议遵循Google官方文档中实际建议的内容--通过使用服务器密钥。
我不确定这对您是否有用,但实际上在FAQs中也提到了
如何解决错误:“当与此接口一起使用时,浏览器应用编程接口密钥不能有引用限制。”?
您正在使用带有浏览器密钥的任何web服务API。出于安全原因,web服务API需要使用服务器密钥。将密钥类型从浏览器密钥切换为服务器密钥。
干杯!:D
https://stackoverflow.com/questions/37126805
复制相似问题