所以我使用此代码指定我想要的google驱动器中的文件夹,但我希望有更好的方法吗?
var folders = DriveApp.searchFolders("title contains '"+Values[3]+"' and 'jlfXPTjmRlS2dQf5SS3RaUWM....' in parents");
while (folders.hasNext()) {
var folder = folders.next();
var folder = folder.getId();
var subfolders = DriveApp.searchFolders("title contains '"+Values[4]+"' and '"+folder+"' in parents");
while (subfolders.hasNext()) {
var subfolder = subfolders.next(); // got My folder here!
// *Actions*
}}
我想指定的文件夹嵌套为:
/共享文件夹(由id知道)/子文件夹(名称已知)/子文件夹(按名称称)
我的猜测是应该用DocsList.getFolder(路径)来完成,但是我无法让它工作。此外,我需要此代码与我共享基本文件夹的协作者兼容。
答案 0 :(得分:4)
在这篇文章中看看Mogsdad的答案,我认为它应该对你有帮助:Migrating from DocsList to DriveApp?
代码转载如下,它不需要很多解释:使用path作为参数并获取一个文件夹对象作为返回。
function getFolderByPath(path) {
var parts = path.split("/");
if (parts[0] == '') parts.shift(); // Did path start at root, '/'?
var folder = DriveApp.getRootFolder();
for (var i = 0; i < parts.length; i++) {
var result = folder.getFoldersByName(parts[i]);
if (result.hasNext()) {
folder = result.next();
} else {
return null;
}
}
return folder;
}