The following example code  reads the Appointments and Task from Exchange. I have used the ews java api with some required dependencies you can download the libraries from the link https://drive.google.com/open?id=1Ujn8GDbX_0EjWx0pcZqAzeMGWykobfOY and execute the program.


import java.net.URI;
import java.net.URISyntaxException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;

import microsoft.exchange.webservices.data.core.ExchangeService;
import microsoft.exchange.webservices.data.core.PropertySet;
import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion;
import microsoft.exchange.webservices.data.core.enumeration.property.WellKnownFolderName;
import microsoft.exchange.webservices.data.core.enumeration.service.DeleteMode;
import microsoft.exchange.webservices.data.core.service.folder.CalendarFolder;
import microsoft.exchange.webservices.data.core.service.folder.Folder;
import microsoft.exchange.webservices.data.core.service.item.Appointment;
import microsoft.exchange.webservices.data.core.service.item.Item;
import microsoft.exchange.webservices.data.core.service.schema.AppointmentSchema;
import microsoft.exchange.webservices.data.credential.ExchangeCredentials;
import microsoft.exchange.webservices.data.credential.WebCredentials;
import microsoft.exchange.webservices.data.search.CalendarView;
import microsoft.exchange.webservices.data.search.FindItemsResults;
import microsoft.exchange.webservices.data.search.ItemView;

public class EWS {

 //Method to get connection to EWS/Exchange Server
 public static ExchangeService getEWSConnection(String ewsUrl, String user, String pwd) throws URISyntaxException  {
  ExchangeService service;
  service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
        service.setUrl(new URI(ewsUrl));
        ExchangeCredentials credentials = new WebCredentials(user, pwd);
        service.setCredentials(credentials);
        return service;
 
 }


 //Method to return set of  appointments from EWS
 public static HashSet<String> userEventEws(ExchangeService service)  {

  HashSet<String> listSubject = new HashSet<String>();


   
         Calendar yesterday = Calendar.getInstance();
         Calendar now = Calendar.getInstance();
   
         yesterday.add(Calendar.DATE, -1);
         now.add(Calendar.DATE, 1);
         Date startDate = yesterday.getTime();
         Date endDate = now.getTime();
     
         try {
             CalendarFolder calendarFolder = CalendarFolder.bind(service, WellKnownFolderName.Calendar, new PropertySet());
             CalendarView cView = new CalendarView(startDate,endDate);
             cView.setPropertySet(new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End));// we can set other properties
             // as well depending upon our need.
             FindItemsResults appointments = calendarFolder.findAppointments(cView);
     
             List <Appointment>appList = appointments.getItems();
             for (Appointment appointment : appList) {
              //appointment.delete(DeleteMode.HardDelete);
                 listSubject.add(appointment.getSubject().trim());
             }
         } catch (Exception e) {
             e.printStackTrace();
         }

     
  return listSubject;
     
 }

//Method to return set of  tasks from EWS
   public static HashSet<String> userTaskEws(ExchangeService service){
   
   
         HashSet<String> listSubject = new HashSet<String>();
         try {
          Folder tasksFolder = Folder.bind( service, WellKnownFolderName.Tasks );
          FindItemsResults < Item > items = tasksFolder.findItems( new ItemView( 1000 ) );
          for ( Item item : items )
             {
           listSubject.add(item.getSubject());
          // item.delete(DeleteMode.HardDelete);
       
         
             }
       
            } catch (Exception e) {
                e.printStackTrace();
            }
   
     return listSubject;
         
   }


 public static void main(String[] args){
  try {
   ExchangeService service = getEWSConnection("Ews_URL", "username", "pwd");
   HashSet <String> userEvents = userEventEws(service);
   System.out.println("Size of events returned "+userEvents.size());
   for(String m : userEvents){
    System.out.println(m);
   }
   HashSet <String> userTasks = userTaskEws(service);
   System.out.println("Size of tasks returned "+userTasks.size());
   for(String m : userTasks){
    System.out.println(m);
   }
 

  } catch (URISyntaxException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

Comments