Google Drive Android API即使在删除应用

时间:2018-05-13 18:33:44

标签: android authorization google-play-services google-drive-android-api

我正在使用新的Google云端硬盘Android API。这是我从Google's android-samples repo复制的演示代码。

GoogleSignInAccount signInAccount = GoogleSignIn.getLastSignedInAccount(this);
if (signInAccount != null && signInAccount.getGrantedScopes().containsAll(requiredScopes)) {
            initializeDriveClient(signInAccount);
}
else 
{ ... }

我面临的问题是,即使我从云端硬盘中删除了该应用,getLastSignedInAccount()仍然会返回该帐户,并且帐户上的操作(例如添加文件)仍然成功。我想,返回GoogleSignInAccount对象很好,但它不应允许对它进行操作。我在Drive中双重检查,当API返回成功时,没有添加任何文件(因为我已取消链接应用程序)。这里出了什么问题?

是的,当我手动同步我的设备上的帐户时,它有效。在这种情况下,虽然getLastSignedInAccount()返回了对象,但操作确实失败了。

PS:我要求SCOPE_FILESCOPE_APPFOLDER范围。

1 个答案:

答案 0 :(得分:0)

这看起来像是理想的行为。

只有在同步之后,GoogleSignIn.getLastSignedInAccount(this)才会知道,而不是在此之前。如您所见,此方法是非阻塞的。

作为改进,API执行操作的调用应返回类似403 UNAUTHORIZED

的内容