【问题标题】:How can I poll the OneNote API frequently without hitting rate limits?如何在不达到速率限制的情况下频繁轮询 OneNote API?
【发布时间】:2018-09-15 00:33:59
【问题描述】:

我有一个用例,我需要大约每分钟轮询一次 OneNote API,以响应用户添加到页面的文本。

(顺便说一句:我希望仅在发生变化时使用 webhook 来获取通知,但据我所知,目前只有 consumer notebooks 支持。)

这种频率的轮询适用于少数用户(大约 5 个),但随后,随着更多用户授权相同的 Microsoft application,该应用似乎达到了应用程序级别的速率限制并开始接收 429 Too Many Requests 响应.

如何确保随着用户数量的增加,投票仍然有效?对于有效用例,是否有可以公开或秘密共享的速率限制?

【问题讨论】:

  • 您可以使用用户语音提交请求或联系官方支持。现在无法通过编码来修复速率限制。
  • @SeiyaSu 谢谢。根据developer.microsoft.com/en-us/graph/support 的说法,Stack Overflow 似乎确实是 Graph API “官方支持”的渠道,不是吗?我应该使用其他渠道吗?
  • 如果您看到developer.microsoft.com/en-us/graph/support,您会看到它只是将我们重定向到 UserVoice(功能请求)或 StackOverflow(问题),所以现在没有其他官方支持渠道。一些 PG 家伙会回答StackOverflow 中的问题
  • 由于 OneNote 笔记本是文件夹,分区是文件,是否可以注册 OneDrive webhook 并在收到通知时仅轮询更新分区中的页面?

标签: microsoft-graph-api onenote onenote-api


【解决方案1】:

因此,可以在 sharepoint 笔记本上注册 webhook 作为 onedrive 项目 - 当笔记本页面更新时,notificationUrl 会触发,然后您可以使用 delta 调用来确定哪些部分(section.one 文件)已更新。 然后,我将使用 onenote-api 获取更新的笔记本部分中的页面
GET https://www.onenote.com/api/v1.0/me/notes/sections/{id}/pages

另一种方法是将 sharepoint 驱动器视为 webdav 服务器并使用使用 getlastmodified 属性轮询驱动器的 propfind 方法确定各种笔记本的哪些部分已更新。

但我同意如果将 onenote webhook 扩展到 sharepoint 会更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多