基本上,在Google Drive API中,我正在尝试读取驱动器中的指定文件夹。
例如root / Temp / TestFiles / AreInHere
我想读取“ AreInHere”中的所有文件,我可以通过使用查询指定所需文件夹的ID来执行此操作。例如。 ‘’‘AreInHere’in父母’。
这可以正常工作,并且符合ID的预期,它还返回我的文件夹中的所有子目录,但不会隐式地获得包含这些子目录的任何文件?
我看过API参考和所有用于搜索的文档,但是没有找到任何OOTB的运气。
非常感谢任何帮助或建议。
提前感谢
相反,您需要使用一个递归函数,该函数动态查找所有子文件夹和子文件夹的子文件夹-无论级别数是多少。
[使您的生活更轻松的是将父级的id
动态指定为query parameter q
,并查询文件的mimeType
。
您未指定语言,但例如在Apps脚本中,您可以执行以下操作:
function myFunction() {
var id = "SPECIFY HERE THE ID OF THE PARENT FOLDER";
iterate(id);
}
function iterate(id){
var q = "'" + id + "' in parents"
var files= Drive.Files.list({"q": q}).items;
if (files.length>0){
for ( var i = 0; i < files.length; i++){
Logger.log(files[i].title);
Logger.log(files[i].mimeType);
if(files[i].mimeType=="application/vnd.google-apps.folder"){
id = files[i].id;
iterate(id);
}
}
}
}