Onenote 页面层次结构

Onenote page hierarchy

假设我有一个名为 'MyNotebook' 的笔记本。现在这个笔记本有一个分区组 'Group1',现在 'Group1' 有另一个分区组 'Group2'。现在在 'Group2' 里面我有一个部分 'Section1',它有一个页面 'Page1'。

如果我们将其视为目录结构,则页面路径将为 -MyNotebook/Group1/Group2/Section1/Page1

当我尝试使用 get page api 获取页面时,我只能获得直接父级,即 Section1。那么假设我想要获得这个完整的层次结构,我该如何获得它?

您具体使用什么API来获取页面?

如果您使用 GET https://www.onenote.com/api/v1.0/me/notes/pages,这将为您提供所有页面,尽管 API 有局限性(例如,它是分页的,因此它只会为您提供最新的20页。此外,如果用户的栏目数量过多,将无法正常工作。

https://blogs.msdn.microsoft.com/onenotedev/2017/07/21/a-few-performance-tips-for-using-the-onenote-api/

参见 "When getting all pages for a user, do so for each section separately"

部分

我建议你拨打这样的电话:

GET https://www.onenote.com/api/v1.0/me/notes/Notebooks?$expand=sections,sectionGroups($expand=sections,sectionGroups($levels=max;$expand=sections))

获取所有section,然后调用如下:

获取https://www.onenote.com/api/v1.0/me/notes/sections/{id}/页面

获取每个版块的页面。

除了 Jorge 所说的之外,如果您特别想要向上的层次结构(而不​​是向下的层次结构),您可以这样做:

GET https://www.onenote.com/api/v1.0/me/notes/pages?$expand=parentSection($expand=parentSectionGroup($expand=parentSectionGroup($expand=parentNotebook)))

但是正如 Jorge 所说,使用 GET 页面时要小心 API 因为它有一些限制