使用微软图形API获取OneDrive中的所有文件夹。

问题描述 投票:0回答:1

我试图使用图形API获取Onedrive中的所有文件夹(不是文件)。我正在寻找类似下面的查询。

var folders=await client.Me.Drive.Root.Children.Request().GetAsync();

上面的查询既取文件又取文件夹,我只找文件夹。

先谢谢你。

c# winforms microsoft-graph onedrive microsoft-graph-sdks
1个回答
0
投票

为了只获取组中的文件夹,在每个组中都有一个名为 "文件夹 "的属性。驱使对象 可以用来检测该特定的drivenItem对象是文件还是文件夹。如果该对象是Folder,那么它的值不会为空。如果它是一个文件,那么Folder属性肯定是空的。

public static async Task<IEnumerable<DriveItem>> GetOnlyFolders()
{
      var folders = await graphClient.Me.Drive.Root.Children
      .Request()
      .GetAsync();

       return folders.CurrentPage;
}
static void OnlyFolders()
{
      var result = GraphHelper.GetOnlyFolders().Result;
      foreach (var item in result)
      {
          if(item.Folder != null)
          {
               Console.WriteLine(item.Name);
          }
      }
}

在我的应用程序中测试了一下,结果如下。

我的OneDrive:-请点击这个链接查看我的OneDrive

我的应用程序在应用代码后:-请点击此链接查看文件夹

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.