【发布时间】:2021-02-05 09:41:22
【问题描述】:
我正在尝试创建一个每周通过共享驱动器运行一次的脚本,并删除过去 90 天内未修改的所有内容。
我在这里发现了一些脚本,它们似乎没有按我的预期工作。
我目前拥有的脚本如下,但由于某种原因它似乎不起作用,但似乎应该。
它似乎可以识别文件,但似乎没有将它们移动到垃圾箱。
欢迎任何提示谢谢。
function getOldFileIDs() {
var fileIDs = [];
// Old date is 90 days
var oldDate = new Date().getTime() - 3600*1000*24*90;
var cutOffDate = Utilities.formatDate(new Date(oldDate), "GMT", "yyyy-MM-dd");
// Get folderID using the URL on google drive
var folder = DriveApp.getFolderById('1ClpJ8uwlVRc9zT4q2AsatEQBvPFTH5Eu');
var files = folder.searchFiles('modifiedDate < "' + cutOffDate + '"');
while (files.hasNext()) {
var file = files.next();
fileIDs.push(file.getId());
Logger.log('ID: ' + file.getId() + ', Name: ' + file.getName());
}
return fileIDs;
};
function deleteFiles() {
var fileIDs = getOldFileIDs();
fileIDs.forEach(function(fileID) {
DriveApp.getFileById(fileID).setTrashed(true);
});
};
【问题讨论】:
-
当我在我的个人谷歌驱动器上运行该脚本时,它运行良好。我认为该脚本不起作用,因为您不是文件的所有者,或者因为您是在共享驱动器上执行此操作。
-
该代码对我来说也可以正常工作,即使是共享的文件,它们也会被删除(仅从我的帐户中)并且文件夹保持为空。您能否就您的情况提供更多背景信息?您是否尝试从您的帐户中删除您的文件?他们中的任何一个都被删除了吗?您检查过文件夹 id 是否正确吗?
标签: google-apps-script google-sheets google-drive-api