获得了一个已发布的应用程序,该应用程序正在使用Google DriveApi(不是REST),并且已经运行了很多年。
从我要使用REST的下一个版本开始开发。在开发期间,我希望该应用程序同时使用这两个API。 (最终,我可能会停止使用DriveApi,而仅使用REST。)使用REST实现的第一个功能。使用我的主要Google帐户列出一些Google云端硬盘文件夹,效果很好。
但是,当我尝试使用原始DriveApi(而非REST)时,会出现一些严重问题:com.google.android.gms.common.api.ApiException:17:用户取消了错误解决方案,原始错误消息: INTERNAL_ERROR:空
没有问题可以登录,但是例如会出现问题。获得Goggle Drive根文件夹的简单功能,并且我为非REST使用适当的范围:Drive.SCOPE_FILE
如果我从应用商店重新安装发布的版本(它不使用REST,并且从未使用过),我会遇到同样的问题!我有几台具有应用商店版本(未重新安装)的设备,并且使用我的主要Google帐户,该应用可以在这些设备上正常运行!
然后,我创建了一个新的Google帐户,使用该帐户时一切正常。我可以从应用商店重新安装,一切正常。
因此,当我重新安装该应用并使用我的主要Google帐户时,就会出现问题。当我使用REST时,好像我的主要Google帐户被损坏了。但不适用于尚未重新安装该应用程序的设备!
在我的应用程序出现异常之前,我可以在日志中看到这些日志,但是当一切正常时,我可以看到类似的日志:
2018-11-10 07:56:11.381 1152-1792 /? W / AppOps:错误的调用:在uid 10190下指定了com.google.android.gms程序包,但实际上是10020
有什么想法吗?
答案 0 :(得分:0)
奇怪...
成功使用REST并获得ApiException后:17:用户取消了错误解决方案,原始错误消息:INTERNAL_ERROR:空 在使用Drive API(而非REST)时,请执行以下操作:
打开https://myaccount.google.com/ 删除该应用程序对您帐户的访问权限。 在您的设备上卸载该应用。 在您的设备上重新安装该应用。
当您随后使用Drive API(而非REST)时,它可以正常工作!。
尝试使用Drive REST API,您将获得: ApiException:17:用户取消了错误解决方案,原始错误消息:INTERNAL_ERROR:空
您可能会注意到,旧的(或多或少已不推荐使用的)API GoogleApiClient一直在起作用……
嗯...
答案 1 :(得分:0)
不确定这会有所帮助,但对我而言,我在使用 Android 应用程序 + Awareness API 时遇到了此错误。我意识到我需要 an API Key 才能使 Awareness API 功能(快照和围栏)工作。在我添加之后,错误消失了。
我认为您的清单中的其他一些 Google API 可能也需要这些。
注意:该链接是针对感知 API 的,您需要查看其他特定 API 的 API 指南。