首页 > 解决方案 > Microsoft Graph API - 驱动器的空根

问题描述

我可以从我的个人驱动器中获取 Root,如下所示。

GraphServiceClient graphClient = new GraphServiceClient(myAuthProvider);
DriveItem folder = await graphClient.Drive.Root.Request().Expand(expandValue).GetAsync();

我可以按如下方式获取组并为每个组获取驱动器。

var groups = await graphClient.Groups.Request().GetAsync();
var drives = await graphClient.Groups[groups.First().Id].Drives.Request().GetAsync();

但是,当我为这些驱动器中的任何一个请求 Root 时,它始终为 Null。

DriveItem folder = drives.First().Root;

值得注意的是,Drive 本身看起来是有效的:名称、URL 和所有其他字段都是有效的。驱动器绝对不是空的。它包含很多文件夹和文件。如何从该驱动器中获取项目?

标签: c#microsoft-graph-api

解决方案


Root不是响应的一部分

var drives = await graphClient.Groups[groups.First().Id].Drives.Request().GetAsync();

用于Expand包含Root到响应中

var drives = await graphClient.Groups[groups.First().Id].Drives
                   .Request()
                   .Expand(x => x.Root).GetAsync();

或者

var drives = await graphClient.Groups[groups.First().Id].Drives
                   .Request()
                   .Expand("root").GetAsync();

推荐阅读