我需要解析特定的文件夹以查看是否存在文件夹标题。如果没有,那么我想创建它。
以下v2 c#代码将列出我的Google云端硬盘文件中的每个文件。如何将其修改为仅返回单个文件夹的文件列表(使用文件夹资源ID)?我明白一切都是文件,包括文件夹。
/// <summary>
/// Retrieve a list of File resources.
/// </summary>
/// <param name="service">Drive API service instance.</param>
/// <returns>List of File resources.</returns>
public static List<File> retrieveAllFiles(DriveService service)
{
List<File> result = new List<File>();
FilesResource.ListRequest request = service.Files.List();
do
{
try
{
FileList files = request.Fetch();
result.AddRange(files.Items);
request.PageToken = files.NextPageToken;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
request.PageToken = null;
}
} while (!String.IsNullOrEmpty(request.PageToken));
return result;
}
答案 0 :(得分:1)
您可以使用q
search parameter将结果限制为属于单个文件夹的文件,如下例所示:
'1234567' in parents
其中'1234567'是文件夹ID。
要在C#中执行相同的查询,可以使用以下代码:
FilesResource.ListRequest request = service.Files.List();
request.Q = "'1234567' in parents";
作为替代方案,如果您只需要文件夹中文件的ID,则可以使用Children feed:
ChildrenResource.ListRequest request = service.Children.List(folderId);
ChildList children = request.Fetch();