使用 Google Apps 脚本从 Google 驱动器中删除文件

Deleting files from Google Drive with Google Apps Script

我看到很多话题都在谈论这个问题,我已经为此苦苦挣扎了一个星期:有没有真正的方法可以 delete/remove/put 使用 Google 驱动器中的垃圾文件脚本?

我必须将 CSV 文件上传到云端硬盘以将其中的一些行复制到电子表格中,我希望在使用后删除这些文件。我使用了 DriveApp.remove(file.id)Drive.Files.remove(file.id),即使他们对我的文档没有任何操作,我也没有收到任何错误消息...

我可以使用一种方法,将文件名、文件 ID 作为参数,执行此删除所需的任何内容。

根据 Apps 脚本文档,.removeFile(fileId) 方法不会删除文件,也不会删除文件。此方法只是从当前文件夹中删除文件。

要通过 Apps 脚本从 Google 驱动器中删除文件,需要使用 Drive REST API possibly as an advanced service。这将跳过 "Trash" - 它是不可恢复的。

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
}

"Trash"可以从 Google Apps 脚本完成 file/folder,无需设置和配置高级服务:

function trashIt(fileId) {
  var file;
  try {
    file = DriveApp.getFileById(fileId);
  }
  catch (fileE) {
    try {
      file = DriveApp.getFolderById(fileId);
    }
    catch (folderE) {
      throw folderE;
    }
  }
  file.setTrashed(true);
}

(如果您需要处理团队云端硬盘项目,也可以使用高级服务进行回收。)

查看相关问题:
Permanently delete file from google drive

Google apps script : How to Delete a File in Google Drive?