我们目前正在使用 Exchange Web Services Managed API 在我们的产品和 Exchange 之间创建同步服务。具体来说,我们希望在用户日历上来回同步(按时间安排)特定约会。作为同步的一部分,我们不一定要同步所有约会,但已经建立了一些复杂的 SearchFilters 以仅返回我们想要的约会。我们的问题是,为了使用 SearchFilters,我们需要使用 ExchangeService.FindItems 方法,但该方法仅返回重复事件的 Master Recurrence。我们的另一个选择是使用 ExchangeService.FindAppointment,这将为我们做循环扩展,但有一个新问题,我们只能使用开始和结束日期来限制结果约会。查看 ExchangeService.FindAppointment 是如何实现的,我们可以看到它是使用 FindItems 方法实现的,这让我相信我应该能够告诉 ExchangeService.FindItems 方法进行重复扩展。

如何使用复杂的 SearchFilter 从交换中获取扩展约会列表?

最佳答案

刚刚在 MSDN 上找到了这个:
http://msdn.microsoft.com/en-us/library/hh148195(v=exchg.140).aspx

搜索日历约会的注意事项

日历约会是搜索的特例。某些日历约会(例如定期约会)可能有异常(exception)和已删除的事件。为确保 Exchange 服务器在搜索日历文件夹时扩展定期约会,您需要使用日历分页。但是,当您使用日历分页时,您不能使用任何其他搜索限制。这意味着,例如,如果您想要显示特定组织者本月的所有日历约会,则无法创建基于组织者的搜索过滤器。相反,您可以使用 CalendarView 类来查询当月的所有约会,然后根据组织者在客户端过滤约会。以下示例显示如何使用日历 View 在日历中搜索约会。

关于c# - Exchange Web 服务托管 API : How can I perform Recurrence Expansion through the FindItem Method?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11036847/

10-13 06:27