首页 > 解决方案 > 在父母中指定“AFolder”后如何递归读取子文件夹?

问题描述

标签: google-apigoogle-drive-api

解决方案


不幸的是,使用 Drive API 无法自动列出子文件夹中包含的文件

相反,您需要使用递归函数来动态查找所有子文件夹和子文件夹的子文件夹 - 无论级别数是多少。

有助于使您的生活更轻松的是id动态指定父级作为查询参数 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);
      }
    }
  }
}

推荐阅读