0

我需要解析一个特定的文件夹以查看文件夹标题是否存在。如果没有,那么我想创建它。

以下 v2 c# 代码将列出我的 Google Drive 文件中的每个文件。如何修改它以仅返回单个文件夹的文件列表(使用文件夹资源 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;
    }
4

1 回答 1

1

您可以使用q search 参数将结果限制为属于单个文件夹的文件,如下例所示:

'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();
于 2012-09-15T16:14:58.227 回答