2016-03-01 54 views
2

我试图在Office 365图形API进行查询,说:“给我{} someISODateTimeString之前的所有电子邮件”Office 365的图形API - 大于上收稿日期筛选

例如:

https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime gt 2016-02-26T14:41:08Z 

这似乎是GT(大于)实际经营为大于或等于(GE),如上面的查询将返回我这有,我传递到查询的确切receivedDateTime值的电子邮件。

所以,我想一个解决办法:

https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime ne 2016-02-26T14:41:08Z AND receivedDateTime ge 2016-02-26T14:41:08Z 

这也不能忽略电子邮件的2016-02-26T14接收日期:41:08Z。

与如何实现接收的日期“大于”查询任何帮助,将不胜感激。

回答

2

您所看到的行为实际上是由于REST API的精度损失。大多数日期字段(包括receivedDateTime)实际上比第二个字段更精确地存储。目前发生的情况是,您的请求正被转换为receivedDateTime> 14:41:08.0000的查询。在14:41:08.01出现的信息在技术上比这更大,即使精度被削减使其看起来相等。

的变通,您可以使用(和一个我们在内部也看遍所有的“GT”或“LT”场景应用)是使用“GE”的下一个单元,所以在你的榜样:

https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime ge 2016-02-26T14:41:09Z 
+0

唉唉是有道理的,感谢您的答案和解决方法! –