使用微软图

时间:2017-04-13 08:52:59

标签: microsoft-graph

我试图只获取带有微软图的新电子邮件。 我通过检查日期来做这件事,如

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

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

2 个答案:

答案 0 :(得分:0)

您正在寻找的方案具体是新Delta query旨在支持的内容。 Deltas允许您在上次轮询该文件夹后检索对给定文件夹(即收件箱)的更改。消息ID不是静态的或连续的,因此它们不是用于确定新消息与旧消息的合适属性。

答案 1 :(得分:0)

我认为delta查询解决方案非常好(如不同答案所示)。但是,就我的目的而言,有两个主要的缺点:1)它现在处于预览版(测试版),因此它不太适合生产代码,2)它似乎不支持监控所有消息,只是特定文件夹中的消息。

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