【问题标题】:User not getting prompted to allow app access to Google Drive未提示用户允许应用访问 Google 云端硬盘
【发布时间】:2013-05-29 16:26:25
【问题描述】:

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

这总是会给我一个令牌,所以我的代码可以工作,但我希望(至少是第一次)得到一个 UserRecoverableAuthException ,所以我可以使用异常的意图来提示用户采取行动。在这种情况下,操作是授予我的应用访问该用户的 Google 驱动器存储的权限。

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

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

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

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

    【讨论】:

    • 当然,但不会去网络并为您的应用选择“断开与云端硬盘的连接”来取消这些权限?
    • 是的。问题是如何再次请求许可。
    【解决方案2】:

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

    从 AndroidManifest 中删除

    android:launchMode = "singleInstance"

    修复了这个问题和一些其他奇怪的活动之间的过渡效果。

    【讨论】:

      【解决方案3】:

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

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

      尝试断开应用程序,然后读取/写入驱动器。它应该抛出这个异常。

      【讨论】:

        猜你喜欢
        • 2012-07-12
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-11
        相关资源
        最近更新 更多