Мы используем 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]"}'