我们正在使用Google Drive API在我们的应用程序中执行某些与文件相关的操作。我们的用例之一是更改特定的文件夹所有者。
我已经返回下面的代码来执行此操作
Permission permission = new Permission();
permission.setRole(Permission.OWNER.getRole());
permission.setType(Permission.OWNER.getType());
permission.setEmailAddress(email);
googleDrive.permissions()
.create(fileId, permission)
.setSendNotificationEmail(false)
.setTransferOwnership(true)
.execute();
尝试更改所有者时,我们收到了Google的错误消息。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
我们已经检查了https://developers.google.com/drive/web/handle-errors此处列出的错误。但是,我没有发现上述细节有任何错误。
当我尝试使用相同的代码更改特定文件的所有权时,它工作正常。
有人对我缺少什么或可能是什么有任何想法吗?
此外,当我使用cURL更改文件夹所有权时,该方法同样有效
curl POST \
'https://www.googleapis.com/drive/v3/files/[FILE_ID]/permissions?transferOwnership=true' \
--header 'Authorization: Bearer [ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"role":"owner","type":"user","emailAddress":"[EMAIL]"}'
答案 0 :(得分:0)
禁止
通常意味着您登录的用户本身无权执行您尝试做的事情。因此,要更改所有者,我会怀疑您需要对该文件具有写权限或成为文件本身的所有者。
例如,我无法登录并更改您拥有的文件的所有者,我没有足够的访问权限。
您可能还需要检查进行身份验证的范围。