类文件夹的Google Apps脚本文档以
开头var folder = DocsList.getFolder('kittens');
确实它会返回一个引用文件夹'kittens'的对象,即使该文件夹嵌套了几层深度。
我问自己“如果文件夹树中存在多个文件夹'小猫'会发生什么?”
我做了一个例子,实际上相同的代码只返回了对文件夹'kittens'的一个引用。
所以我的结论是所呈现的代码含糊不清,结果不可靠,因为我不知道返回文件夹的标准是什么。
var folders = DocsList.getFolder();
存在,返回所有文件夹,但
var folders = DocsList.getFolder('kittens');
返回所有文件夹'小猫'不存在。
我知道你可以使用
var listFolders = DriveApp.getFoldersByName('kittens');
但确实会返回FolderIterator而不是文件夹数组。
任何人都可以告诉我,如果我错过了一个观点,为什么Google没有提供返回文件夹数组的方法以及用于确定DocsList.getFolder('kittens');
答案 0 :(得分:1)
DocsList.getFolder()
是一种尝试模拟文件系统上的文件夹路径的特殊方法。也就是说它需要一个路径字符串并尝试查找与该路径匹配的文件夹。由于Google云端硬盘允许使用相同名称的多个文件夹,因此可能会造成混淆,我们通常不建议您使用它。
至于为什么DriveApp.getFoldersByName()
返回迭代器,这是设计服务时做出的设计决策。出于性能原因,所有可返回大量结果的方法都会返回迭代器而不是数组。