DriveApp.GetFoldersByName() 总是返回 true

DriveApp.GetFoldersByName() always returning true

我一直在研究 google 驱动脚本。

我需要从电子表格创建一个文件夹,以防不存在具有该名称的文件夹。

但问题是它说该文件夹存在,即使它不存在。

检查在 try 函数内。

像这样:

try {
   //currentName is the name of the folder and it's working properly
   var folder = DriveApp.getFoldersByName(currentName);
   Logger.log('That folder already exists!')
} catch(err) {
   var folder = DriveApp.createFolder(currentName);
   Logger.log('Folder created because it didnt exist');
}

为什么它总是能找到一个文件夹,即使它不存在?

它在我的驱动器上运行良好。但后来我把它放在一个有很多文件夹的服务器驱动器里。是权限问题吗?或者我没有检索服务器中的当前文件夹?

我是否遗漏了任何类型的支票?

找出问题所在。

DriveApp.getFoldersByName returns a FolderIterator,所以我必须在那之后做一个额外的测试..像这样:

var folder = DriveApp.getFoldersByName(currentClient);
if(folder.hasNext()) {
    Logger.log('File already exists')
} else {
    var folder = DriveApp.createFolder(currentClient);
    Logger.log('New folder created!');
}

它像这样完美地工作。