Microsoft Graph C# SDK - 如何return OneNote 流?

Microsoft Graph C# SDK - How to return a Stream for OneNote?

我正在针对 Microsoft Graph C# SDK 进行编码,我正在寻找 return Package 方面的流。更具体地说,我想 return 一个 OneNote 的流。

阅读文档后:Package Facet。好像一个Package可以理解为一个文件夹。我的问题是有人会如何为 OneNote 文件下载带有 .Content() 的流?

此方案似乎不受支持。您可以使用当前的 .Net Graph 客户端库来获取笔记本的元数据(第一次 GetAsync 调用),但第二次 GetAsync 调用获取内容结果为 404。话虽如此,与 OneNote 交互的预期方式是通过beta 端点中的 OneNote API。目前,我们在测试端点中没有用于新功能的客户端库,因此您需要在 .Net 客户端库之外进行调用。

// Get the OneNote notebook identifier here.
var driveItems = await graphClient.Me.Drive.Root.ItemWithPath("Notebooks").Children.Request().GetAsync();

foreach (var item in driveItems)
{
    // Let's download the first file we get in the response.
    if (item.Package.Type == "oneNote")
    {
        // Fail 404, response body error is UnknownError.
        var driveItemContent = await graphClient.Me.Drive.Items[item.Id].Content.Request().GetAsync();
        return;
    }
}

您需要使用以下内容 get the OneNote notebook:

GET /me/notes/notebooks/{notebookidentifier}

这应该会让您进入您的笔记本,以便您可以深入了解各个部分和页面。请注意,此 API 仍处于测试阶段,可能会发生变化。