Из документации : removeFile (child) не удаляет файл, но если файл удаляется из всех его родителей, он не может быть просмотрен на диске, кроме как при его поиске или использовании " Все элементы "view.
Вы пробовали Drive.Files.remove()
вместо DriveApp.removeFile()
? Чтобы включить его, в редакторе сценариев перейдите в раздел «Ресурсы»> «Дополнительные службы Google»> «Drive API»
У меня есть похожий сценарий, который работает. Обратите внимание, что он должен найти все папки и , потому что они обрабатываются отдельно.
// Delete all files from trash older than 1 month
function cleanOldTrash() {
var files = DriveApp.getTrashedFiles();
var folders = DriveApp.getTrashedFolders();
var lastMonth = new Date();
lastMonth.setDate(lastMonth.getDate() - 30);
while (files.hasNext()) {
var file = files.next();
if (file.getLastUpdated() < lastMonth ) {
Drive.Files.remove(file.getId());
}
}
while (folders.hasNext()) {
var folder = folders.next();
if (folder.getLastUpdated() < lastMonth) {
Drive.Files.remove(folder.getId());
}
}
}
У меня действительно есть проблема с этим сценарием, когда файлы хранятся в tra sh из Team Drives, к которым у меня нет разрешения на доступ, но я постараюсь получить дополнительную помощь по этому вопросу в отдельном вопросе. Я обновлю этот ответ, если потребуется.