我有一些数据库文件自动备份到我的谷歌驱动器。备份例程将新的数据库文件 (.lxdb) 添加到特定文件夹并删除旧文件。
在 Google 云端硬盘上,删除的文件最终会进入垃圾箱,快速耗尽 GB 的云端硬盘空间。
有 GA 脚本可以定期清空垃圾箱,但是,我只想删除特定文件类型,因为出于安全原因将所有其他文件保留在垃圾箱中是有意义的。
function DeleteTrashedFiles(){
Drive.Files.emptyTrash();
};
但是,请求 TRASH 中所有 .lxbd 文件的数组然后删除它们的最先进方法是什么? (最好不要循环遍历所有 GD 文件)
最佳答案
你有两个选择:
- 与其将旧的
.lxbd
文件移至垃圾箱,不如立即将其删除。在 Apps 脚本中,启用“高级服务”Drive
,这将是Drive.Files.remove(file.id);
- > Query与 list特定文件类型的垃圾文件,然后为每个文件调用
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/