Office 365 API OutlookServicesClient筛选器消息错误

时间:2015-05-08 14:19:21

标签: c# odata office365

我使用OutlookServicesClient来获取消息。 我试图只收到某个日期之后收到的邮件,但是我收到错误的地方。

我用来获取邮件和过滤器的代码:

public async Task<IReadOnlyList<IMessage>> GetMails(DateTime? MailsAfterDate)
    {
        OutlookServicesClient oc = await _OutlookAuthentificationService.GetOutlookClient();

        if (oc != null)
        {
            try
            {
                var msgList = await oc.Me.Messages
                              .Expand(m => m.Attachments)
                              .Where(m => !m.DateTimeReceived.HasValue || !MailsAfterDate.HasValue || m.DateTimeReceived.Value.LocalDateTime.Ticks >= MailsAfterDate.Value.Ticks)
                              .ExecuteAsync();

                return msgList.CurrentPage;
            }
            catch (Exception)
            {
                throw;
            }
        }
        return null;
    }

错误:无法解析OData请求网址。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我发现为什么这不起作用: DateTimeReceived是一个可以为空的日期时间,但是你不能在where子句中使用value属性的hasvalue。

如果没有这个功能,该功能可以正常工作。