“drive.metadata.readonly”和“drive.readonly.metadata”之间的区别

时间:2015-02-03 22:35:38

标签: google-app-engine google-drive-api service-accounts

我想问一下DriveScopes.DRIVE_METADATA_READONLYhttps://www.googleapis.com/auth/drive.readonly.metadata之间的差异是什么?换句话说,有什么区别 这两种形式:

https://www.googleapis.com/auth/drive.metadata.readonly //DriveScopes.DRIVE_METADATA_READONLY
https://www.googleapis.com/auth/drive.readonly.metadata

当我使用服务帐户处理云端硬盘API 时,我花了很长时间才弄明白,为什么我的应用投放未经授权的例外

Uncaught exception from servlet
com.google.api.client.auth.oauth2.TokenResponseException: 403
{
    "error" : "access_denied",
    "error_description" : "Requested client not authorized."
}

String常量DriveScopes.DRIVE_METADATA_READONLY导致异常。我应该在哪种情况下使用这个常量?

1 个答案:

答案 0 :(得分:0)

这显然是Java API客户端的一个错误。

API documentation表明正确的范围是:

https://www.googleapis.com/auth/drive.readonly.metadata

当你看the latest javadoc时(在这个回答的时候),你会得到:

https://www.googleapis.com/auth/drive.metadata.readonly

您应该忽略DriveScopes常量并创建自己的常量,而Google云端硬盘团队会修复此问题。