0

OneNote REST API からノートブックごとにページのリストを取得しようとしています。

1 つのオプションは、セクションのリストを反復処理し、次を使用してセクションごとにページを取得することです。 /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、これが正しい構文であると思われましたが、何が間違っているのでしょうか?

アップデート

したがって、一度に 1 つずつ実行すると機能します。問題は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 に答える