Microsoft graph api 使用microsoft graph获取新电子邮件

Microsoft graph api 使用microsoft graph获取新电子邮件,microsoft-graph-api,Microsoft Graph Api,我正在尝试使用microsoft graph仅获取新电子邮件。 我这样做是通过检查日期,比如 GET https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime+gt+2016-06-06T08:08:08Z 是否有可能构建查询以获取新消息,但基于id而不是receivedDateTime?类似于:获取消息,直到找到id=…?您正在寻找的场景就是新设计所要支持的。Delta允许您检索自上次轮询给定文件夹(即收件箱)

我正在尝试使用microsoft graph仅获取新电子邮件。 我这样做是通过检查日期,比如

GET https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime+gt+2016-06-06T08:08:08Z

是否有可能构建查询以获取新消息,但基于id而不是receivedDateTime?类似于:获取消息,直到找到id=…?

您正在寻找的场景就是新设计所要支持的。Delta允许您检索自上次轮询给定文件夹(即收件箱)以来对该文件夹所做的更改。消息ID不是静态的或连续的,因此它们不是确定新消息和旧消息的合适属性

您正在寻找的场景正是新设计所要支持的。Delta允许您检索自上次轮询给定文件夹(即收件箱)以来对该文件夹所做的更改。消息ID不是静态的或连续的,因此它们不是确定新消息和旧消息的合适属性

我认为delta查询解决方案相当不错(如另一个答案所示)。然而,就我的目的而言,有两个主要的缺点:1)它现在处于预览(beta版)状态,因此它不太适合于生产代码;2)它似乎不支持监控所有消息,只支持特定文件夹中的消息


实际上我更喜欢你正在使用的解决方案。响应头中的时间戳可用于重置查询中的时间字段,因此,如果您有“receivedDateTime gt 12:00:00”并为您的请求返回12:01:00的服务器时间,您下次可以使用“receivedDateTime gt 12:01:00”。

我认为增量查询解决方案非常好(如另一个答案中所建议的). 然而,就我的目的而言,有两个主要的缺点:1)它现在处于预览(beta版)状态,因此它不太适合于生产代码;2)它似乎不支持监控所有消息,只支持特定文件夹中的消息

实际上我更喜欢你正在使用的解决方案。响应头中的时间戳可用于重置查询中的时间字段,这样,如果您有“receivedDateTime gt 12:00:00”并为您的请求返回12:01:00的服务器时间,则下次可以使用“receivedDateTime gt 12:01:00”