我试图通过笔记本从OneNote REST API获取页面列表。
一种选择是使用/api/v1.0/notes/sections/[ID]/pages
相反,为了减少我/v1.0/me/notes/pages
过滤parentNotebook/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秒的暂停似乎解决了这个问题。
答案 0 :(得分:0)
在interactive console中尝试了以下内容,并取得了成功的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.
因此可以使用或表达式对多个笔记本进行过滤。