2014-04-19 2 views
1

교환 달력을 내 맞춤 달력과 통합하려고합니다. 지금까지는 새 일정 만들기를 내 일정에서 Exchange로 통합 할 수있었습니다.EWS Java 모임 허용

하지만 내가 직면 한 문제는 Exchange에서 내 캘린더에 이르기까지입니다. Outlook에서 새 모임을 만들고 아래 코드를 통해 검색하면 결과가 나타납니다.

<code> 

CalendarFolder calendarFolder = CalendarFolder.bind(eService,  WellKnownFolderName.Calendar); 
CalendarView calendarView = new CalendarView(startOfMonth.toDate(), endOfMonth.toDate()); 
FindItemsResults<Appointment> aprilMeetings = alendarFolder.findAppointments(calendarView); 
</code> 

위 목록에있는 모든 회의가 시작일과 종료일 사이에 있습니다. 내 질문은 그것의 새로운 회의 또는 업데이트 된 회의 또는 취소 된 회의 여부를 식별하는 방법입니다.

나는

<code> 
appointment.getIsNew(). 
appointment.getIsCancelled() 
appointment.getIsUnmodified() 
</code> 

이러한 방법을 시도하지만, 위의 모든 방법은 false를 돌려줍니다. Exchange Server의 항목을 내 사용자 지정 응용 프로그램과 동기화 할 수 있도록이 방법을 찾아야합니다 (참고 : 응용 프로그램에서 iCal 파일을 만들므로 Exchange가 연결되어 있지 않을 때 응용 프로그램을 사용할 수 있습니다).

감사합니다.

답변

2

다음 코드를 사용하여 업데이트/새 모임을 얻을 수 있습니다.

Date startDate1 = formatter.parse("2014-04-25 07:00:00"); 
SearchFilter filter = new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.LastModifiedTime,startDate1); 

FindItemsResults<Item> findResults = exchange.findItems(WellKnownFolderName.Calendar, filter, new ItemView(10)); 
for (Item item : findResults.getItems()) 
{ 
    Appointment appt = (Appointment)item; 
    System.out.println("SUBJECT====="+appt.getSubject()); 
    System.out.println("Location========"+appt.getLocation()); 
    System.out.println("Start Time========"+appt.getStart()); 
    System.out.println("End Time========"+appt.getEnd()); 
    System.out.println("Email Address========"+ appt.getOrganizer().getAddress()); 
    System.out.println("Last Modified Time========"+appt.getLastModifiedTime()); 

} 
+0

모든 공유 회의를 가져올 수 있습니다. –