我正在使用EWS Java api 2.0读取日历邮箱上的约会。它工作得很好,但我的问题是根据其主题描述来过滤约会,这一点我没有成功。目前,我正在使用CalendarView检索约会,如下所示:
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);有没有人知道怎么解决这个问题?
感谢并致以问候
发布于 2019-05-30 00:48:39
使用FindItems之后,您将获得代表整个系列的所有重复出现的母版。从母版中,您可以获取事件和异常:
Appointment occurrenceOrException = Appointment.BindToOccurrence(service, new ItemId(recurringMasterId), index);有了上面的内容,你就可以通过索引来获取事件/异常。请注意,index从1开始,当index超出范围时,它将抛出异常。
发布于 2019-05-30 00:26:59
请记住,定期约会的实例(即使是例外)在物理上并不存在,因此FindItems()可能不会返回它们。
您可能需要的是详细模式下的GetUserAvailability operation (由ExchangeService.GetUserAvailability方法公开)。
https://stackoverflow.com/questions/56362385
复制相似问题