【发布时间】:2018-05-25 19:46:22
【问题描述】:
我正在使用新的 Google Drive Android API。这是我从Google's android-samples repo复制的演示代码。
GoogleSignInAccount signInAccount = GoogleSignIn.getLastSignedInAccount(this);
if (signInAccount != null && signInAccount.getGrantedScopes().containsAll(requiredScopes)) {
initializeDriveClient(signInAccount);
}
else
{ ... }
我面临的问题是,即使我从云端硬盘中删除了应用程序,getLastSignedInAccount() 仍然会返回帐户并且帐户上的操作(例如添加文件)仍然成功。我想返回 GoogleSignInAccount 对象很好,但它不应该允许对其进行操作。我再次检查了云端硬盘,当 API 返回成功时没有添加任何文件(因为我已经取消了应用程序的链接)。这里出了什么问题?
是的,当我在我的设备上手动同步帐户时,它起作用了。在这种情况下,虽然getLastSignedInAccount() 返回了对象,但操作确实失败了。
PS:我正在请求 SCOPE_FILE 和 SCOPE_APPFOLDER 范围。
【问题讨论】:
-
你能显示一些代码吗?
-
请澄清您所说的“即使我从云端硬盘中删除该应用程序”是什么意思,我假设您的意思是您正在撤消应用程序在 Google 云端硬盘用户界面中的访问权限?另外请澄清如果您关闭当前活动并再次打开该行为是否仍然存在,以及如果您重新启动应用程序是否仍然存在。如果您有基于 Drive 示例之一的离散 repo 步骤,这也会有所帮助。
标签: android authorization google-play-services google-drive-android-api