从 Microsoft Graph API 获取驱动器的项目:请求格式不正确或不正确
Getting the drive's items from Microsoft Graph API: The request is malformed or incorrect
我正在尝试通过 Microsoft Graph Api (SDK) 获取驱动器的项目并尝试了以下选项:
_graphServiceClient.Drives[driveInfo.Id].Items.Request().GetAsync()
:,不幸的是,这会导致消息错误,消息 "The request is malformed or incorrect" 和代码 "invalidRequest"。但是,如果我执行 _graphServiceClient.Drives[driveInfo.Id].Request().GetAsync()
,我会取回所有驱动器,但 Items
属性 是 null
。
_graphServiceClient.Drives[driveInfo.Id].Request().Expand(d => d.Items).GetAsync()
,这也会导致错误消息 "The request is malformed or incorrect" 和代码 "invalidRequest".
我不知道如何从这里继续,仍在研究中,但目前文档让我一无所知。 .Expand()
或从云端硬盘中获取实际文件的任何人都成功了吗?
谢谢,
Y
您只在获取单个 DriveItem
时使用 Items
:
await graphClient
.Me
.Drive
.Items[item.Id]
.Request()
.GetAsync();
await graphClient
.Drives[drive.Id]
.Items[item.Id]
.Request()
.GetAsync();
当你想取回一个DriveItem
集合时,你需要指定根文件夹:
await graphClient
.Me
.Drive
.Root // <-- this is the root of the drive itself
.Children // <-- this is the DriveItem collection
.Request()
.GetAsync();
await graphClient
.Drives[drive.Id]
.Root
.Children
.Request()
.GetAsync();
SDK 单元测试是快速示例的良好来源。例如,OneDriveTests.cs
包含几个用于寻址 Drives 和 DriveItems 的示例。
我正在尝试通过 Microsoft Graph Api (SDK) 获取驱动器的项目并尝试了以下选项:
_graphServiceClient.Drives[driveInfo.Id].Items.Request().GetAsync()
:,不幸的是,这会导致消息错误,消息 "The request is malformed or incorrect" 和代码 "invalidRequest"。但是,如果我执行_graphServiceClient.Drives[driveInfo.Id].Request().GetAsync()
,我会取回所有驱动器,但Items
属性 是null
。_graphServiceClient.Drives[driveInfo.Id].Request().Expand(d => d.Items).GetAsync()
,这也会导致错误消息 "The request is malformed or incorrect" 和代码 "invalidRequest".
我不知道如何从这里继续,仍在研究中,但目前文档让我一无所知。 .Expand()
或从云端硬盘中获取实际文件的任何人都成功了吗?
谢谢, Y
您只在获取单个 DriveItem
时使用 Items
:
await graphClient
.Me
.Drive
.Items[item.Id]
.Request()
.GetAsync();
await graphClient
.Drives[drive.Id]
.Items[item.Id]
.Request()
.GetAsync();
当你想取回一个DriveItem
集合时,你需要指定根文件夹:
await graphClient
.Me
.Drive
.Root // <-- this is the root of the drive itself
.Children // <-- this is the DriveItem collection
.Request()
.GetAsync();
await graphClient
.Drives[drive.Id]
.Root
.Children
.Request()
.GetAsync();
SDK 单元测试是快速示例的良好来源。例如,OneDriveTests.cs
包含几个用于寻址 Drives 和 DriveItems 的示例。