javascript - 定期从 Google Drive Trash 中删除特定类型的所有文件

标签 javascript file google-apps-script google-drive-api recycle-bin

我有一些数据库文件自动备份到我的谷歌驱动器。备份例程将新的数据库文件 (.lxdb) 添加到特定文件夹并删除旧文件。

在 Google 云端硬盘上,删除的文件最终会进入垃圾箱,快速耗尽 GB 的云端硬盘空间。

有 GA 脚本可以定期清空垃圾箱,但是,我只想删除特定文件类型,因为出于安全原因将所有其他文件保留在垃圾箱中是有意义的。

function DeleteTrashedFiles(){
  Drive.Files.emptyTrash();
};

但是,请求 TRASH 中所有 .lxbd 文件的数组然后删除它们的最先进方法是什么? (最好不要循环遍历所有 GD 文件)

最佳答案

你有两个选择:

  1. 与其将旧的 .lxbd 文件移至垃圾箱,不如立即将其删除。在 Apps 脚本中,启用“高级服务”Drive,这将是 Drive.Files.remove(file.id);
  2. > Querylist特定文件类型的垃圾文件,然后为每个文件调用 Drive.Files.remove

驱动器选项 2 的示例 "Advanced Service"在 Google Apps 脚本中:

function deleteTrashedFiletype(someMimetype) {
  var options = {
    q: "trashed=true AND mimeType='" + someMimetype + "' AND '" + Session.getActiveUser().getEmail() + "' in owners",
    pageToken: null
  };
  do {
    var result = Drive.Files.list(options);
    result.items.forEach(function (file) {
      if(file.mimeType === someMimetype)
        Drive.Files.remove(file.id);
      else throw new Error("The query returned the wrong mimetype");
    });
    options.pageToken = result.nextPageToken;
  } while(options.pageToken);
}

如果您正在处理团队云端硬盘项目,您将需要包含其他参数,并且如果您需要无差错操作,则必须进行额外检查。

关于javascript - 定期从 Google Drive Trash 中删除特定类型的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49847841/

相关文章:

ios - 在图像文件头上添加注释

ruby - 检查文件是否包含特定单词

javascript - 使用键模式读取 JSON 对象值

C - 从文件中逐行读取 - 显示错误的输出

javascript - jquery 输入文本与替换不起​​作用

api - 以编程方式访问亚马逊愿望 list ?

javascript - 在 Google 表格中添加数组作为 EmbeddedChart 的 "range"

javascript - 比较两种不同格式的时间戳 - GAS

javascript - setTimeout 没有给出预期的输出

javascript - Knockout JS 内联三元