正在 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 只是不同。
我正在尝试创建一个程序来下载我的 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 只是不同。