我正在尝试删除特定团队云端硬盘(而不是整个 Google 云端硬盘)中超过 7 天的文件和文件夹。
为此,我尝试合并我在此处阅读的内容: Apps Script - Automatically Delete Files from Google Drive Older than 3 Days - Get List of Files
我没有足够的代表在那里添加评论,所以这就是我打开一个新线程的原因。在这里,您可以找到我从user1588938 窃取的内容:
function getOldFileIDs() {
var fileIDs = [];
// Old date is 30 days
var oldDate = new Date().getTime() - 3600*1000*24*30;
var cutOffDate = Utilities.formatDate(new Date(oldDate), "GMT", "yyyy-MM-dd");
// Get folderID using the URL on google drive
var folder = DriveApp.getFolderById('XXXXXXX');
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);
});
};
我坚持使用“getFolderById”功能,因为我认为它不适用于 Team Drive 根目录,但仅适用于其中的文件夹。事实上,当我查看日志时,我可以看到以下输出:
var folder = DriveApp.getFolderById('this-is-my-team-drive-id');
是通用的:[18-07-30 06:34:49:146 PDT] Team Drive而不是我选择的 Team Drive 的名称。
正因为如此,我无法继续使用脚本。
关于如何使用searchFiles 列出团队云端硬盘中的每个文件和子文件夹的任何提示?
此解决方案可能适用,但它适用于团队云端硬盘中的文件夹,而不是团队云端硬盘的根目录: browse files in google team drive
谢谢!