我正在使用 EWS Java api 2.0 来读取日历邮箱上的约会。它工作正常,但我的问题是按其主题描述过滤约会,我没有成功。目前我正在使用日历视图来检索约会,像这样:
CalendarFolder cf = CalendarFolder.bind(service, WellKnownFolderName.Calendar);
CalendarView view = new CalendarView(startDate, endDate);
FindItemsResults<Appointment> findResults3 = cf.findAppointments(view);
我知道 Item 类提供了一种可以应用搜索过滤器的方法,但它确实返回了重复序列的出现次数。
像这样:
ItemView itemView = new ItemView(50);
SearchFilter searchFilter = new SearchFilter.ContainsSubstring(ItemSchema.Subject, "OK");
FindItemsResults<Item> findResults = service.findItems(WellKnownFolderName.Calendar, searchFilter, itemView);
有谁知道如何解决这个问题?
感谢和问候
使用FindItems后,您将获得所有重复出现的母版,它代表了整个系列。从主控数据中,您可以获得出现和异常:
Appointment occurrenceOrException = Appointment.BindToOccurrence(service, new ItemId(recurringMasterId), index);
通过上述方法,您可以按索引获取发生/异常。请注意,索引从 1 开始,当索引超出范围时,它将引发异常。
这可能会有所帮助:https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/dd633700%28v%3dexchg.80%29
,定期约会的实例(即使它们是例外(在物理上并不存在,因此 FindItems(( 不可能返回它们。
您可能想要的是详细模式下的 GetUserAvailability 操作(由 ExchangeService.GetUserAvailability 方法公开(。