【发布时间】:2017-06-08 01:49:43
【问题描述】:
我正在使用 v3 REST Api 向我的应用添加 Google Drive 支持,如下所述:https://developers.google.com/drive/v3/web/quickstart/android
Gmail API 中出现完全相同的问题:https://developers.google.com/gmail/api/quickstart/android
我正在使用此处所述的 GoogleAccountCredential。它通过我的 gradle 包含在内:
compile('com.google.api-client:google-api-client-android:1.22.0') {
exclude group: 'org.apache.httpcomponents'
}
但是,它的嵌套类 GoogleAccountCredential.RequestHandler 存在问题 在方法 handleResponse 这调用 GoogleAuthUtil.invalidateToken(context, token);它被标记为已弃用,因为它需要权限 MANAGE_ACCOUNTS 和 USE_CREDENTIALS ,如此处所述: GoogleAuthUtil.invalidateToken
当我使用 Google 网络界面断开应用程序与云端硬盘的连接并尝试使用上述快速入门示例重新进行身份验证时,就会出现这种情况。然后抛出 java.lang.SecurityException: caller uid missing any android.permission.MANAGE_ACCOUNTS,android.permission.USE_CREDENTIALS (如预期的那样)。
我当然可以将这些权限添加到我的应用程序中,但我不想这样做。 Android Studio SDK 管理器没有显示相关库的更新。
除了不使用 PlayServices 而是直接使用 GoogleAuthUtil 之外的任何解决方法?
【问题讨论】:
标签: android google-drive-api google-play-services