Получение 403 - Запрещено при смене владельца папки Google Drive с использованием служебной учетной записи - PullRequest
0 голосов
/ 13 мая 2019

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

1 Ответ

0 голосов
/ 13 мая 2019

Запрещено

Обычно означает, что пользователь, с которым вы вошли в систему, не имеет доступа к тому, что вы пытаетесь сделать.Поэтому, чтобы сменить владельца, я бы заподозрил, что вам понадобится доступ на запись к этому файлу или владелец самого файла.

Например, я не могу войти в систему и изменить владельца файла, который выУ меня нет доступа к файлу.

Вы также можете проверить область, с которой вы аутентифицируетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...