gpt4 book ai didi

c# - 使用 Google Drive API [C#/.NET] 获取文件夹层次结构

转载 作者:行者123 更新时间:2023-11-30 13:55:16 24 4
gpt4 key购买 nike

我正在寻找一种优雅的方式来获取文件夹层次结构,从我的根文件夹开始,使用 C# Google Drive API V3。

目前,您可以通过以下方式获取根文件夹及其父文件夹

var getRequest = driveService.Files.Get("root");
getRequest.Fields = "parents";
var file = getRequest.Execute();

但我正在寻找一种方法来获得 child ,而不是 parent ,所以我可以递归地沿着文件结构进行下去。设置 getRequest.Fields = 'children' 不是有效的字段选项。

最佳答案

递归获取子级是获取完整层次结构的一种非常耗时的方法。更好的方法是运行查询以在单个 GET 中获取所有文件夹(如果您有超过 1,000 个文件夹,则可能需要多个文件夹),然后遍历它们的父属性以在内存中构建层次结构。请记住,(afaik)没有什么可以阻止文件夹层次结构循环,因此 folder1 拥有 folder2 拥有 folder3 拥有 folder1,因此无论您采用哪种策略,请检查您是否处于循环中。

如果您是 GDrive 的新手,请务必尽早意识到文件夹只是标签,而不是容器。所以与多个 parent 的循环关系和文件是很正常的。它们最初被称为收藏,但被重命名为文件夹以安抚那些无法理解标签的社区成员。

关于c# - 使用 Google Drive API [C#/.NET] 获取文件夹层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36052163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com