EWS JAVA API通过组织者

时间:2017-10-02 14:01:50

标签: java calendar exchangewebservices

我正在尝试使用来自Exchange Server的用户/电子邮件中的所有信息进行所有会议。

为此我正在使用EWS JAVA API library

现在我被困在那一点上,我没有像组织者和成员那样获得所有信息。我只得到开始和结束时间,可用性代码和主题。是的,用户有权查找所有其他信息。

以下是我从教程中找到的代码:

List<AttendeeInfo> attendees = new ArrayList<>();
attendees.add(new AttendeeInfo("user@bla.com"));

Date start = new Date();
Date end = new Date(start.getTime() + (1000 * 60 * 60 * 24));

// Call the availability service.
GetUserAvailabilityResults results = exchange.getUserAvailability(attendees, new TimeWindow(start, end), AvailabilityData.FreeBusy);

// Output attendee availability information.
int attendeeIndex = 0;

for (AttendeeAvailability attendeeAvailability : results.getAttendeesAvailability()) {
    System.out.println("Availability for " + attendees.get(attendeeIndex));
    if (attendeeAvailability.getErrorCode() == ServiceError.NoError) {
        for (CalendarEvent calendarEvent : attendeeAvailability.getCalendarEvents()) {
            System.out.println("Calendar event");
            System.out.println("  Start time: " + calendarEvent.getStartTime().toString());
            System.out.println("  End time: " + calendarEvent.getEndTime().toString());

            if (calendarEvent.getDetails() != null) {
                System.out.println("  Subject: " + calendarEvent.getDetails().getSubject());
            }
        }
    }

    attendeeIndex++;
}

是否有其他方法可以获得我需要的所有信息? 我找不到任何与我已有的东西相近的东西。

1 个答案:

答案 0 :(得分:0)

嗯......通过谷歌的拼写错误我找到了解决方案......

CalendarView cView = new CalendarView(start, end);
FolderId folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox("user@bla.com"));
FindItemsResults<Appointment> findResults = exchange.findAppointments(folderId, cView);
ArrayList<Appointment> calItem = findResults.getItems();

calItem包含有关用户所有约会的所有信息

相关问题