未提示用户允许应用访问Google云端硬盘

时间:2013-05-29 16:26:25

标签: google-drive-api

要获得令牌,我打电话给:   GoogleAuthUtil.getToken(context,account,“oauth2:”+“https://www.googleapis.com/auth/drive.appdata”);

哪个总会给我一个令牌,所以我的代码可以工作,但我期望(至少第一次)获得UserRecoverableAuthException,这样我就可以在异常上使用该意图来提示用户采取行动。这种情况下的操作是授予我的应用访问该用户的Google云端硬盘存储空间的权限。

从网站上,我断开了应用程序与驱动器的连接,运行我的应用程序,文件被写入我的gdrive,我从网站上看到应用程序已连接到我的驱动器。

为什么没有提示用户允许访问?

3 个答案:

答案 0 :(得分:0)

如果用户已经为该范围的应用程序授予了权限,则不会抛出UserRecoverableAuthException。

答案 1 :(得分:0)

我发现在我的情况下没有显示授权对话框,因为我在AndroidManifest.xml中为activity添加了singleInstance

从AndroidManifest中删除

android:launchMode = "singleInstance"

解决了这个问题以及活动之间的一些其他奇怪的过渡效应。

答案 2 :(得分:0)

第一次将应用程序连接到驱动器时​​,当您发送帐户名称时,它会自行请求权限。

只有在用户断开应用程序连接时才会抛出您期望的异常。

尝试断开应用,然后读/写驱动器。它应该抛出这个例外。