使用调整后的父文件夹下载批量文件和Google云端硬盘

时间:2018-01-11 07:35:27

标签: google-api google-drive-api

我想从我的Google云端硬盘下载。 文件夹结构非常复杂。以下是概述:

Parent Folder 1
--- Parent Folder 2
------ Parent Folder 3
--------- Parent Folder 4
------------ Parent Folder 5
--------------- Data

是否有任何脚本可以下载具有如下文件夹结构的文件:

Parent Folder 2
--- Parent Folder 3
------ Parent Folder 5
--------- Data

由于

1 个答案:

答案 0 :(得分:0)

我过去做过这个,你需要做的是创建一个递归方法。首先获取google云端硬盘帐户中所有文件的列表。然后,如果文件有文件夹,则按名称对它们进行排序,然后创建该文件夹。然后查找该文件夹中的所有文件并列出它们。一旦找到了应该存在的正确目录,就可以在文件上执行一次下载。

这是我使用C#的例子。

public static void PrettyPrint(DriveService service, Google.Apis.Drive.v3.Data.FileList list, string indent)
    {
        foreach (var item in list.Files.OrderBy(a => a.Name))
        {
            Console.WriteLine(string.Format("{0}|-{1}", indent, item.Name));

            if (item.MimeType == "application/vnd.google-apps.folder")
            {
                var ChildrenFiles = ListAll(service, new FilesListOptionalParms { Q = string.Format("('{0}' in parents)", item.Id), PageSize = 1000 });
                PrettyPrint(service, ChildrenFiles, indent + "  ");
            }
        }
    }

关于如何在C#中执行此操作的完整教程可以在List all files

找到