Onenote 没有 return 页

Onenote does not return pages

这是与 OneNote pages API doesn't return pages in section-groups 类似的问题。

我正在使用“获取分区”和“分区页面”来获取笔记本中所有页面的名称。但是,一直使用相同的请求,部分组中的部分有时会消失,并且在重新创建组之前不会重新出现。

这是一个可以以某种方式解决的错误,还是有更好的方法从特定笔记本中轮询所有页面名称?页面需要有序。

如果您尝试获取笔记本的所有页面名称,则可以通过使用 OData 嵌套过滤器来解决。这个想法是查询所有页面,$expand parentNotebook,然后 $filterparentNotebookid。这是一个示例 URL.

GET ~/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$notebook_id_here}'

这是另一个 SO 问题,其中有人采用了类似的模式:

更新:

您可以使用 OData 的 $orderby 并指定返回实体集中实体上存在的属性(在本例中,实体为页面)来控制返回页面的顺序。来自 dev.onenote.com:"The default [order] is lastModifiedTime desc (most recently modified page first)."

https://dev.onenote.com/docs#/reference/get-pages 下有一个部分 "Page properties",它显示了此调用返回的所有属性。由于我们正在获取笔记本中存在的用户可用的所有页面,因此不幸的是,我们唯一可以使用的 属性 是 createdTime

要添加的查询参数类似于 $orderby=createdTime

完整:

GET ~/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$notebook_id_here}&$orderby=createdTime

我刚刚使用 Fiddler 对我自己的页面进行了测试,所以我认为它应该可以工作。好的是它是一个单一的请求。

获取https://www.onenote.com/api/v1.0/me/notes/pages?$expand=parentNotebook&$filter=parentNotebook/id%20eq%20'{$YOUR_NOTEBOOK_ID_HERE}'&$orderby=createdTime