【发布时间】:2015-12-10 22:02:26
【问题描述】:
我正在使用Office 365 Mail API,我的目标是获取用户发送 (1.) 和接收 的电子邮件的总数 strong> (2.) 今天。
为此,我首先在Office 365 API Playground 中创建并尝试运行了一些查询:
https://outlook.office.com/api/v2.0/me/mailfolders/sentitems/messages?$filter=sentdatetime%20ge%202015-12-10T08:00:00.000Z&$select=Subject,CreatedDateTime,ToRecipientshttps://outlook.office.com/api/v2.0/me/messages?$count=true&$filter=receiveddatetime%20ge%202015-12-09T10:00:00.000Z&$select=Subject,CreatedDateTime,ToRecipients
现在,我正在努力使用 OutlookServicesClient API 编写这些查询。我没有找到很多示例,这些示例超出了非常简单的查询......到目前为止我所拥有的:
var mailResults = await client.Me.MailFolders.Where(f => f.DisplayName == "Sent Items").ExecuteAsync();这还没有返回只返回消息并针对当前日期过滤它们。var mailResults = await client.Me.Messages.Where(m => m.ReceivedDateTime.Value == date.UtcDateTime).ExecuteAsync();不返回任何结果,即使我收到了很多电子邮件。此外,我想排除在“集群”、“已删除邮件”和“垃圾邮件”文件夹中收到的电子邮件。
一般来说,我不确定使用英文文件夹名称过滤是否是个好主意,因为我需要更改其他语言的代码。特殊 Outlook 文件夹(例如已发送邮件、垃圾邮件、群集等)是否有特殊 ID?
另外,为了解决我的两个请求,我可以自己获取所有电子邮件并处理过滤,但这效率不高,API 已经支持过滤(如原始请求中所示),我只是不确定如何使用OutlookServicesClient API 编写它们。
【问题讨论】:
标签: office365 office365api outlook-restapi microsoft-graph-api office365-restapi