Как реагировать на вновь созданные встречи? - PullRequest
0 голосов
/ 27 января 2020

Я ищу способ получить дельту Назначений. По сути, я хочу реагировать на вновь созданные встречи.

Для получения вновь созданных / непрочитанных сообщений в java ews api, который я использую, есть SearchFilter. К сожалению, AppointmentSchema не предоставляет подходящего Enum для фильтра.

new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));

Я получаю назначения вроде:

    CalendarFolder calendarFolder = CalendarFolder.bind(service, WellKnownFolderName.Calendar, new PropertySet());
    var result = calendarFolder.findAppointments(cView);

, поэтому вернемся к моему вопросу. Как я могу заметить, что кто-то пригласил меня на новую встречу или по электронной почте с новым приглашением на встречу?

1 Ответ

0 голосов
/ 27 января 2020

Я, к счастью, уже нашел решение. MeetingRequest - это Item, который я ищу.

FindItemsResults<Item> result = service.findItems(new FolderId(WellKnownFolderName.Inbox, new Mailbox(getCredentials())), getUnreadEmailFilter(), new ItemView(10));
result.forEach(n -> {
    if (n instanceof MeetingRequest) {
       System.out.println("New Appointment - MeetingRequest found!");
       MeetingRequest req = (MeetingRequest) n;
       req.accept(true);
    }
}
...