驱动器 API v3,C# - 文件夹层次结构
Drive API v3, C# - Folder Hierarchy
我有一个与 Drive(特别是 TeamDrives)通信的应用程序,我需要在给定的 TeamDrive 中提取分层文件夹结构。
我可以列出可用的 TeamDrive,然后获取其中的文件(过滤器:文件夹 mime 类型),但每个文件夹似乎没有任何 parent
信息,因此我的结构看起来 'flat'.
我知道在 Drive 上,文件夹只是一个标签,'sub-folders' 可以在多个地方共享,所以我会满足这一点,但我只想能够在我的应用程序上创建目录树.
例如我想在我的应用程序中显示的结构:
- 团队云端硬盘名称
- 主文件夹
- 子文件夹
我的'list'代码:
var request = service.Files.List();
request.Corpora = "teamDrive";
request.IncludeTeamDriveItems = true;
request.SupportsTeamDrives = true;
request.OrderBy = "name";
request.PageSize = 100;
request.TeamDriveId = "[teamDriveId]";
request.Q = "mimeType='application/vnd.google-apps.folder'";
这给了我给定的 'teamDriveId':
- 主文件夹
- 子文件夹
parent
Sub Folder
结果是 null
.
您没有在响应中指定您想要的字段,因此您得到的是不包含 parent 信息的默认值。尝试添加 request.Fields = "*"
。我不熟悉您正在使用的库,所以我的语法可能有误 - 请仔细检查。
您可能还会发现这个有用
正如 pinoyyid 所建议的,您需要将 'Fields' 添加到您的请求中。
request.Fields = "name, id, parents";
我有一个与 Drive(特别是 TeamDrives)通信的应用程序,我需要在给定的 TeamDrive 中提取分层文件夹结构。
我可以列出可用的 TeamDrive,然后获取其中的文件(过滤器:文件夹 mime 类型),但每个文件夹似乎没有任何 parent
信息,因此我的结构看起来 'flat'.
我知道在 Drive 上,文件夹只是一个标签,'sub-folders' 可以在多个地方共享,所以我会满足这一点,但我只想能够在我的应用程序上创建目录树.
例如我想在我的应用程序中显示的结构:
- 团队云端硬盘名称
- 主文件夹
- 子文件夹
- 主文件夹
我的'list'代码:
var request = service.Files.List();
request.Corpora = "teamDrive";
request.IncludeTeamDriveItems = true;
request.SupportsTeamDrives = true;
request.OrderBy = "name";
request.PageSize = 100;
request.TeamDriveId = "[teamDriveId]";
request.Q = "mimeType='application/vnd.google-apps.folder'";
这给了我给定的 'teamDriveId':
- 主文件夹
- 子文件夹
parent
Sub Folder
结果是 null
.
您没有在响应中指定您想要的字段,因此您得到的是不包含 parent 信息的默认值。尝试添加 request.Fields = "*"
。我不熟悉您正在使用的库,所以我的语法可能有误 - 请仔细检查。
您可能还会发现这个有用
正如 pinoyyid 所建议的,您需要将 'Fields' 添加到您的请求中。
request.Fields = "name, id, parents";