【发布时间】:2016-08-07 12:48:31
【问题描述】:
我有以下代码:
var startProp = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Meeting, "DTSTART", MapiPropertyType.String);
var endProp = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Meeting, "DTEND", MapiPropertyType.String);
var cond1 = new SearchFilter.IsEqualTo(startProp, StartDate);
var cond2 = new SearchFilter.IsEqualTo(endProp, EndDate);
var filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, cond1, cond2);
var items = svc.FindItems(WellKnownFolderName.Calendar, filter, view);
我正在尝试在交换室邮箱上运行此查询。 (但这在上面的代码中并不明显)。它可能会保留确切的开始/结束时间。因此,如果有一项符合该条件的预订,我应该至少获得一项。
背景:想想一个会议室,人们试图阻止它开会。在交换中,这只是另一个邮箱,类似于用户邮箱。所以预订成功后,此邮箱会收到一封包含日历详细信息的电子邮件(iCalendar 格式 (*.ics)。
我被困在两个不同的方面......
items在上面的代码中不返回任何内容。TotalCount为零。也许我在 api 上做错了什么。我想不通。我实际上对我要查询的内容感到困惑。我不明白交易所在这件事上的解决方案。这将在下面进一步描述。
因此,您已在房间邮箱中通过电子邮件发送项目。每封电子邮件都嵌入了日历,通常使用一些 base64 编码。日历有一个特定的模式 - 我们只对您在 VEVENTS 之间找到的数据感兴趣(即 BEGIN:VEVENT 和 END:VEVENT)。这里的问题是有时可能有多个事件。那么交易所是如何做到的呢?它是否贯穿所有事件,符合标准;如果匹配成功,它是否返回该“电子邮件”(附有/嵌入日历)?还是其他机制?
因此我不确定我在上面的代码中编写的语义。所以请就此提出建议。
【问题讨论】:
标签: email calendar exchange-server-2010 ews-managed-api