0

Twitter 経由で API チームとやり取りしようとしましたが、応答がなく、開発がここで停止しています...

要するに、OneNote API に対して開発しているときに 429 が発生し続けます。これは、API を強く叩きすぎていることを示唆していることを知っていますが、そうではありません。

最悪の場合、開発中に手動で呼び出して、1 分あたり 1 ~ 2 件のリクエストを行っています。通話の合間に 10 ~ 15 分放置することもありますが、うまくいくこともあれば、うまくいかないこともあります。

私はここ数日、特定の問題に取り組んできました。私のコードでは、単一のクエリですべてのノートブック、セクション、およびセクション グループを取得するための呼び出しを行います (特定のノートブックからのデータのみを返すようにフィルター処理されます)。

次に、それらのノートブックの更新されたすべてのページを取得するために 2 回目の呼び出しを行います。私はこの 2 番目の呼び出しを機能させるためにフィルター文字列をいじっていましたが (今では機能していると思います)、10 回中 9 回、この 2 番目の API 呼び出しで 429 が返されます。

ユーザー アカウントをホワイトリストに登録する方法はありますか?

FWIW これは私の 2 番目のクエリです (スペースは通常エンコードされます):

/me/notes/pages?count=true&top=100&expand=parentNotebook,parentSection
&filter=(parentNotebook/id eq '{GUID}' or parentNotebook/id eq '{GUID}' or parentNotebook/id eq '{GUID}') and lastModifiedTime gt 2016-08-05T11:34:09.000Z

これは期待どおりに機能します。日付句は現在機能していますが、429 を取得するため、ごくたまにしかテストできません。

ちなみに、API コンソールで 2 番目のフィルターを実行すると、毎回 504 の「プロキシ要求タイムアウト」が発生します。これは、ノートブック述語の周りに括弧を追加してからです。

そのため、開発を続けることがほとんどできません。どうすれば解決できますか?

4

3 に答える 3

0

念のため: 2 番目の呼び出し (更新されたページを取得するため) を別の http 要求 (ノートブック ID ごとに 1 つ) に分割してみてください。

また、更新通知が必要な場合は、Webhook の方が適している可能性があります。

最後に、Twitterでの沈黙をお詫びします。

于 2016-08-05T14:45:00.977 に答える