0

我正在尝试从 OneNote REST API 按笔记本获取页面列表。

一种选择是遍历部分列表并使用每个部分获取页面 /api/v1.0/notes/sections/[ID]/pages

相反,为了减少我正在过滤的请求数量,/v1.0/me/notes/pagesparentNotebook/id我得到了,例如:

The query operation(s) parentNotebook/id eq [ID] 
OR parentNotebook/id eq [ID] OR parentNotebook/id eq [ID] not supported.
http://aka.ms/onenote-errors#C20106

错误 #20106 状态:

您的请求包含不受支持的查询运算符。请参阅 OneNote API 参考。

我对 OData 4.0 文档的简短引用让我相信这parentNotebook/id是正确的语法,请问我做错了什么?

更新

所以,如果我一次做一个,它确实有效;问题似乎是OR

我可以更改我的过滤器以包含多个笔记本,还是应该对每个笔记本进行 API 调用?

具有讽刺意味的是,当我确实为每个笔记本打了电话时,我得到了我的第一个 http 429 节流手耳光,尽管在请求之间添加 2 秒的暂停似乎可以解决这个问题。

4

1 回答 1

0

刚刚在交互式控制台中尝试了以下操作并成功返回了 200 响应。

GET https://www.onenote.com/api/v1.0/me/notes/pages?filter=parentNotebook/id eq '0-C6703B3BE9D6A5E0!317' or parentNotebook/id eq '0-D8E91FC12048CF4A!515'

 *NOTE* replace the above notebook ids with your own ids.

因此使用 or 表达式过滤多个笔记本是可能的。

于 2016-05-20T21:48:11.357 回答