我已经看到很多话题都在谈论这个问题,我现在已经在努力了一个星期了:是否有一种真正的方法可以使用脚本删除/删除/放入Google云端硬盘中的垃圾文件?
我必须在云端硬盘上传CSV文件才能将其部分行复制到电子表格中,我希望在使用后删除这些文件。我使用了DriveApp.remove(file.id)
,Drive.Files.remove(file.id)
,即使他们在我的文档中没有做任何操作,我也没有收到任何错误消息......
我可以使用一个方法来获取文件名,参数中的fileID,以及执行此删除所需的任何内容。
答案 0 :(得分:1)
根据Apps脚本文档,.removeFile(fileId)
方法不会删除文件,也不会删除文件。此方法只是从当前文件夹中删除该文件。
要通过Apps脚本从Google云端硬盘删除文件,可能需要使用Drive REST API
作为advanced service。这将跳过“垃圾箱” - 它是不可恢复的。
function deleteIt(fileId) {
var file = Drive.Files.get(fileId);
if(file.mimeType === MimeType.FOLDER) {
// possibly ask for confirmation before deleting this folder
}
Drive.Files.remove(file.id); // "remove" in Apps Script client library, "delete" elsewhere
}
“垃圾”文件/文件夹可以通过Google Apps脚本完成,无需设置和配置高级服务:
function trashIt(fileId) {
var file;
try {
file = DriveApp.getFileById(fileId);
}
catch (fileE) {
try {
file = DriveApp.getFolderById(fileId);
}
catch (folderE) {
throw folderE;
}
}
file.setTrashed(true);
}
(如果您需要使用Team Drive项目,也可以使用高级服务进行垃圾处理。)
见相关问题:
Permanently delete file from google drive
Delete or Trash specific file in Drive
Google apps script : How to Delete a File in Google Drive?