我正在尝试使用来自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++;
}
是否有其他方法可以获得我需要的所有信息? 我找不到任何与我已有的东西相近的东西。
答案 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
包含有关用户所有约会的所有信息