【发布时间】:2019-12-18 01:01:00
【问题描述】:
在 C# (Visual Studio 2015) 中,下面的代码列出了以 'root' 作为父 ID 的文件夹。但是,当我转到 Google Drive UI (drive.google.com) 时,列出的一些文件夹出现在其他非根文件夹中。我在 C# 中查看了这些文件夹的属性,但没有发现任何迹象表明存在差异。我显然错过了一些东西。有什么想法吗?
可能是我最初在根目录中创建了相关文件夹,然后将它们移动到子文件夹,因此它保留了原来的父文件夹。即便如此,UI 是如何正确定位它们的,但 API 没有给我任何指示它应该在其他地方?
FilesResource.ListRequest listRequest = service.Files.List();
listRequest.PageSize = 100;
listRequest.Fields = "nextPageToken, files(*)";
listRequest.Q = " ('root' in parents) and mimeType = 'application/vnd.google-apps.folder' ";
listRequest.OrderBy = "name";
listRequest.Spaces = "drive";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute().Files;
Console.WriteLine("Files:");
if (files != null && files.Count > 0)
{
foreach (var file in files)
{
Console.WriteLine("{0} ({1})", file.Name, file.Id);
}
}
else
{
Console.WriteLine("No files found.");
}
Console.Read();
【问题讨论】:
-
这可能是由于服务器传播问题。自您移动文件夹并尝试使用 API 列出它们以来已经过去了多长时间?
-
已经几个月了
-
我突然想到这些文件夹的“WebViewLink”属性值。当我使用链接导航到它们时,我发现它们在“垃圾箱”中。然后我注意到“Trashed”属性为 True。有两个同名的非垃圾文件夹,我认为那些是它所指向的文件夹。错误的假设。很抱歉进行了消防演习。
标签: google-drive-api