我尝试在Office 365 Graph API上执行查询,说出"在{someISODateTimeString}"
之前给我发送所有电子邮件例如:
Expression selectValue is undefined on line 16, column 42 in 20155#20195#42611.
看起来gt(大于)实际操作大于或等于(ge),因为上面的查询返回一封电子邮件,其中包含我传递给查询的确切receivedDateTime值。
所以我尝试了一种解决方法:
https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime gt 2016-02-26T14:41:08Z
这也未能省略收到日期为2016-02-26T14:41:08Z的电子邮件。
有关如何实现"大于"的任何帮助查询收到的日期将不胜感激。
答案 0 :(得分:3)
您看到的行为实际上是由于REST API的精确度下降。大多数日期字段(包括receivedDateTime)实际上存储的精度高于秒。目前发生的事情是您的请求被转换为其中的ReceiveDateTime> 14:41:08.0000。出现在14:41:08.01的消息在技术上比这更大,即使精度被削弱使它看起来相等。
您可以使用的解决方法(我们内部也希望在所有" gt"或" LT"场景中使用)是使用" ge&# 34;对于下一个单位,所以在你的例子中:
https://graph.microsoft.com/v1.0/me/messages?$filter=receivedDateTime ge 2016-02-26T14:41:09Z