【问题标题】:Google Drive API V3 - Some folders with Root Parents show under a different folder in Google Drive UIGoogle Drive API V3 - 一些具有根父级的文件夹显示在 Google Drive UI 的不同文件夹下
【发布时间】: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


【解决方案1】:

我突然想到这些文件夹的“WebViewLink”属性的值。当我使用链接导航到它们时,我发现它们在“垃圾箱”中。然后我注意到“Trashed”属性为 True。有两个同名的非垃圾文件夹,我认为那些是它所指向的文件夹。错误的假设。

将查询值改为:

listRequest.Q = " ('root' in parents) and mimeType = 'application/vnd.google-apps.folder' and trashed=false";

【讨论】:

    猜你喜欢
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    相关资源
    最近更新 更多