Android:Google Maps Android API:授权失败

Android:Google Maps Android API:授权失败,第1张

概述当我的应用尝试使用GoogleMapsAPI时,一旦我尝试访问GoogleMapAPI数据,我就会收到以下logcat错误(向右滚动以查看好东西!):02-0215:39:35.32923868-24511/com.somepackage.nameE/Google Maps Android API:Authorizationfailure.Pleaseseehttps://developers.google.

当我的应用尝试使用Google Maps API时,一旦我尝试访问Google Map API数据,我就会收到以下logcat错误(向右滚动以查看好东西!):

02-02 15:39:35.329 23868-24511/com.somepackage.name E/Google Maps AndroID API: Authorization failure.  Please see https://developers.Google.com/maps/documentation/androID/start for how to correctly set up the map.02-02 15:39:35.339 23868-24511/com.somepackage.name E/Google Maps AndroID API: Ensure that the following correspond to what is in the API Console:                                                                                            API Key: AI~~~~~~~~~~~~~~~~~~~~~~~~~~ZwmI​                                                                                            Package name: com.somepackage.name                                                                                            Certificate Fingerprint: 50:~~~~~~~~~~~~~~~~~~~~:D5

以下是带有指纹和API密钥的Google Developers支持控制台的图片(是的,它们匹配!).我还等待谷歌服务器更新(根据dox 5分钟;我等了几个小时).

这是我的项目的主要AndroIDManifest.xml(为简洁起见编辑):

<?xml version="1.0" enCoding="utf-8"?>...<!-- The following two permissions are not required to use Google Maps AndroID API v2, but are recommended.--><uses-permission androID:name="androID.permission.ACCESS_COARSE_LOCATION" /><uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION" /><application    ...    <!--The key to use Google's map API -->    <Meta-data        androID:name="com.Google.androID.geo.API_KEY"        androID:value="AIz~~~~~~~~~~~~~~~~~~~~~~~~~~~~wmI​"/>    <activity    ...    </activity>    ...</application>

我在Google上有一个高级支持帐户,但到目前为止无法与他们联系.有谁知道我为什么会收到此授权失败

解决方法:

几个小时后,我想出了答案加上一个非常重要的问题!

情况

我需要重新解释细节,我不知道重要的是哪个实际上是最重要的.

我继承了这个项目,所以它的历史未知.该程序最初使用的是免费版Google地图,效果很好.由于这是一家大公司,他们继续支付全额保费订阅服务.程序员添加了新的库并进行了少量代码修改以使用这些库.

但他们仍然使用原始(免费)授权密钥.这导致Google的服务器继续将数据视为免费版本.

没有人注意到这一点,因为免费的Goole Maps API仅在一天内发出一些(2500?)API调用后才会出现问题.我们的流量最近才变得足够高,这是一个问题. (在限制之后,Google Api会发送错误消息而不是数据.)

因此,我所做的任何改变似乎都没有效果.并且更改代码中的密钥会导致身份验证错误(请参阅相关问题).

我不得不使用新的高级库和控制台创建一个新的身份验证密钥.这改变了谷歌服务器,这当然导致已经存在的所有版本的应用程序停止运行!

放置在清单中的新身份验证密钥会被Google Api识别,一切正常,是的!但我们仍需要在Google商店中发布新版本.

陷入困境#1

文档中列出的AndroIDManifest.xml命令不起作用:

    <Meta-data        androID:name="com.Google.androID.geo.API_KEY"        androID:value="AI............................mI​"/>

这是实际工作的正确名称:

    <Meta-data        androID:name="com.Google.androID.maps.v2.API_KEY"        androID:value="AI............................mI​" />

陷入困境#2

但在测试时,我仍然遇到各种各样的错误.为什么?因为androID设备维护身份验证密钥的缓存.清除数据(或更好,卸载)清除了这些缓存.现在一切正常,耶.

道德:在处理API密钥,身份验证,证书和类似的东西时,每次都要卸载! 总结

以上是内存溢出为你收集整理的Android:Google Maps Android API:授权失败全部内容,希望文章能够帮你解决Android:Google Maps Android API:授权失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存