我有一个android应用程序,使用谷歌的地方api得到附近的地方…一切工作正常,当我离开允许的android设备字段为android api键空…但是当我添加自定义证书的SHA1指纹和包时,我得到的错误是我的应用程序未被授权…当我再次移除它时,它工作了!
我认为有必要添加这个字段,因为它可以防止配额盗窃,但为什么我得到这个错误?我很确定指纹和包装名称是正确的。
帮助请
问题是你使用的是Android API Key
对于Places Webservice API,您需要使用浏览器密钥或服务器密钥。
来自文档:
如果您的项目还没有服务器应用程序的密钥,通过选择"公共API"下的"创建新密钥"创建API密钥),然后选择服务器密钥
同样,这很有趣,因为你发现这不是真的,但是文档也说:
进入Google Developer Console,点击Create new Key,然后点击Server Key或浏览器键。注意:Google Places API Web Service不适用于Android或iOS API密钥。
这是您在返回JSON的URL中使用的键。如果你也有一个谷歌地图,使用一个单独的Android键,放在你的AndroidManifest.xml中。
如果你正在使用Places API Web Service,那么你应该使用Server key,正如Daniel Nugent上面提到的(请接受他的答案,而不是我的)。
在这种情况下,最佳实践是通过中间服务器代理来自移动应用程序的请求。
如果可能的话,考虑到你的功能需求,你应该考虑使用新的Android Places API,在这种情况下,你将能够使用Android Key。