Ошибка удаления файла с Google Диска.У пользователя недостаточно прав для этого файла - PullRequest
0 голосов
/ 23 ноября 2018

Я работаю над интерфейсом Google Drive API.У меня есть требование удалить файлы, загруженные другими пользователями.Мы используем общую папку для загрузки файлов.Мне нужно скачать и удалить файлы из загруженного местоположения.

Код.

    do{
       FileList result2 = service.files().list().setFields("nextPageToken, files(id, name,parents,mimeType,owners)").setPageToken(pageToken).execute();
       for (File file : listFiles) {
           downloadFile(file)//This method download files. ITs working file
           service.files().delete(file.getId()).execute();
           pageToken = result2.getNextPageToken();
       }
    }while (pageToken != null);

service.files().delete(file.getId()).execute();
throwing exception
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "The user does not have sufficient permissions for this file.",
    "reason" : "insufficientFilePermissions"
  } ],
  "message" : "The user does not have sufficient permissions for this file."
}

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

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Я знаю, что я не владелец, поэтому я не могу удалить файлы

Вы абсолютно правы в этом.Удаление и удаление файлов может выполняться только владельцем.

Однако существует один обходной путь.Вы можете удалить родительский идентификатор из файла.Это удалит файл из папки.Для этого используйте параметр removeParents Файлы: конечная точка обновления .Это также то, что делает Google Диск, когда вы «удаляете» файл (который вам не принадлежит) из общей папки через веб-интерфейс.

Одно предостережение этого метода заключается в том, что размер файла все равно будет учитыватьсяв сторону ограничения хранилища Google Drive, принадлежащего пользователю.

0 голосов
/ 23 ноября 2018

У пользователя недостаточно прав для этого файла.

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

Я не знаю, как вы загружаете эти файлы в это центральное место, но идея будет использовать службуаккаунт для загрузки файлов.Тогда он будет владельцем файлов.Затем, когда вы захотите удалить их, вы можете попросить пользователя учетной записи службы удалить файл, а не полагаться на пользователя, который в данный момент вошел в систему для удаления файла.

...