要获得令牌,我打电话给: GoogleAuthUtil.getToken(context,account,“oauth2:”+“https://www.googleapis.com/auth/drive.appdata”);
哪个总会给我一个令牌,所以我的代码可以工作,但我期望(至少第一次)获得UserRecoverableAuthException,这样我就可以在异常上使用该意图来提示用户采取行动。这种情况下的操作是授予我的应用访问该用户的Google云端硬盘存储空间的权限。
从网站上,我断开了应用程序与驱动器的连接,运行我的应用程序,文件被写入我的gdrive,我从网站上看到应用程序已连接到我的驱动器。
为什么没有提示用户允许访问?
答案 0 :(得分:0)
如果用户已经为该范围的应用程序授予了权限,则不会抛出UserRecoverableAuthException。
答案 1 :(得分:0)
我发现在我的情况下没有显示授权对话框,因为我在AndroidManifest.xml中为activity添加了singleInstance
从AndroidManifest中删除
android:launchMode = "singleInstance"
解决了这个问题以及活动之间的一些其他奇怪的过渡效应。
答案 2 :(得分:0)
第一次将应用程序连接到驱动器时,当您发送帐户名称时,它会自行请求权限。
只有在用户断开应用程序连接时才会抛出您期望的异常。
尝试断开应用,然后读/写驱动器。它应该抛出这个例外。