【问题标题】:What is the best way to catch isRead event for a mail with Microsoft graph API?使用 Microsoft 图形 API 捕获邮件的 isRead 事件的最佳方法是什么?
【发布时间】:2017-04-27 17:05:10
【问题描述】:

我试图捕捉通过 Microsoft Graph API 读取电子邮件的准确时间。

我试过了:

  • Microsoft Graph API webhook:当消息文件夹更新(即 isRead 事件)时向 URL 发送通知,这使我可以捕获电子邮件 ID 和发送通知的时间。问题:似乎没有抓住每一个事件。同时或快速标记“阅读”多条消息仅以一次调用 notification_url 结束 --> 信息丢失。

  • Microsoft Graph API 'LastModifiedDate':不会随着 'read' 事件演变。

  • Microsoft Graph API 'isRead' 属性:仅设置为 true 或 false,不提供任何有关时间的信息。

  • 带有 'isRead' 的 Microsoft Graph API 增量查询:可以工作,但意味着不断运行增量查询。如果您跟踪大量电子邮件帐户,这不是一个巨大的 API 负载吗?

我的问题:有没有更高效和优雅的方法来获取这些简单的数据?

【问题讨论】:

    标签: email outlook webhooks microsoft-graph-api


    【解决方案1】:

    给定消息标记为已读的日期/时间不可用。这也将是非常不可靠的,因为消息可以随意在已读和未读状态之间切换。轮询 API 也会带来挑战,因为您最终可能会很快限制连接。

    【讨论】:

    • 我明白,但为什么 webhook 不够可靠?可以将多个 isRead 事件排入队列,以便它们调用通知 URL,次数与事件数一样多,因此我们不会错过任何事件。
    • Webhooks 非常适合告诉您发生了一些变化,因此您知道要检查,但它们不是事件源。如果发生了一组批处理事件,您将收到一个事件。否则我标记 40,000 条消息一次阅读或清空我的垃圾文件夹只会压倒端点。
    • 我明白你的意思。但如果不考虑 40 000 个读取事件,我们可以想象 API 会在 webhook 中对多个通知进行分组,避免每 X 分钟发送超过 1 个通知,但每个通知中包含多个事件。无论如何感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2012-02-25
    • 1970-01-01
    • 2019-09-26
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多