正在 google 驱动器 c# 中搜索要下载的文件

Searching file to download in google drive c#

我正在尝试创建一个程序来下载我的 google 驱动器中的图像文件。我能够这样做,但是当我尝试将文件搜索到 return 特定文件时,在使用基于此网站 https://developers.google.com/drive/v3/web/search-parameters 的 'name' 字段时,我总是遇到错误.我真的不知道问题所在。这是我的代码

 GoogleHelper gh = new GoogleHelper();//calling
        DriveService service = GoogleHelper.AuthenticateServiceAccount(email, securityPath);
        List<String> file = GoogleHelper.GetFiles(service, 
"mimeType='image/jpeg' and name contains 'aa'");
        String newFile = newPath+id;
        gh.DownloadFile(service, file[0],newPath);
//get File Method:
    public static List<String> GetFiles(DriveService service, string search)
    {
        List<String> Files = new List<String>();
        try
        {
            //List all of the files and directories for the current user. 
            FilesResource.ListRequest list = service.Files.List();
            list.MaxResults = 1000;

            if (search != null)
            {
                list.Q = search;

            }

            FileList filesFeed = list.Execute();

           // MessageBox.Show(filesFeed.Items.Count);
            //// Loop through until we arrive at an empty page
            while (filesFeed.Items != null)
            {
                // Adding each item  to the list.
                foreach (File item in filesFeed.Items)
                {
                    Files.Add(item.Id);

                }

                // We will know we are on the last page when the next page token is
                // null.
                // If this is the case, break.

                if (filesFeed.NextPageToken == null)
                {
                    break;
                }

                // Prepare the next page of results
                list.PageToken = filesFeed.NextPageToken;

                // Execute and process the next page request
                filesFeed = list.Execute();

            }
        }
        catch (Exception ex)
        {
            // In the event there is an error with the request.
            Console.WriteLine(ex.Message);
            MessageBox.Show(ex.Message);
        }
        return Files;
    }

如果我们检查文档 Search for Files

name    string  contains1, =, !=    Name of the file.

他们还显示它正在使用

name contains 'hello' and name contains 'goodbye'

现在 file.list 方法 returns 文件资源列表。如果检查 file resources name is not a parameter title is.

所以如果你这样做

mimeType='image/jpeg' and (title contains 'a')

您的请求将有效。

现在文档错误的原因是您使用的是 Google 驱动器 v2 API 并且文档显然已经针对您猜想它使用的 Google 驱动器 v3 进行了更新名称而不是文件的标题。

IMO 应该有两个,因为这里 API 只是不同。