使用 Microsoft graph 获取 OneDrive 中的所有文件夹 API

Fetch all the folders in OneDrive using Microsoft graph API

我正在尝试使用图表 api 获取 Onedrive 中的所有文件夹(不是文件)。我正在寻找类似于以下查询的查询:

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

以上查询同时获取文件和文件夹,而我只查找文件夹。

提前致谢。

为了仅获取组中的文件夹,每个 drivenItem object 中都有一个名为 'Folder' 的 属性,可用于检测该特定 drivenItem 对象是文件还是文件夹。如果该对象是 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:- Please click this link to see my one drive

应用代码后我的申请:- Please click this link to view the folders