我试图使用图形API获取Onedrive中的所有文件夹(不是文件)。我正在寻找类似下面的查询。
var folders=await client.Me.Drive.Root.Children.Request().GetAsync();
上面的查询既取文件又取文件夹,我只找文件夹。
先谢谢你。
为了只获取组中的文件夹,在每个组中都有一个名为 "文件夹 "的属性。驱使对象 可以用来检测该特定的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
我的应用程序在应用代码后:-请点击此链接查看文件夹