DriveApp.GetFoldersByName() 始终返回 true

Joe*_*ida 2 javascript google-sheets google-apps-script

我一直在玩谷歌驱动器脚本。

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

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

检查位于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');
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Joe*_*ida 7

找出问题所在。

DriveApp.getFoldersByName返回 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!');
}
Run Code Online (Sandbox Code Playgroud)

像这样就完美地工作了。