有任务获得相同的财产。下面是另一个 API 的示例,但逻辑应该相同:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.independentsoft.exchange.And;
import com.independentsoft.exchange.Appointment;
import com.independentsoft.exchange.AppointmentPropertyPath;
import com.independentsoft.exchange.FindItemResponse;
import com.independentsoft.exchange.IsGreaterThanOrEqualTo;
import com.independentsoft.exchange.IsLessThanOrEqualTo;
import com.independentsoft.exchange.ItemShape;
import com.independentsoft.exchange.MapiPropertyType;
import com.independentsoft.exchange.PropertyId;
import com.independentsoft.exchange.Service;
import com.independentsoft.exchange.ServiceException;
import com.independentsoft.exchange.StandardFolder;
import com.independentsoft.exchange.StandardPropertySet;
public class Test {
public static void main(String[] args)
{
try
{
Service service = new Service("https://myserver/ews/Exchange.asmx", "username", "password");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startTime = dateFormat.parse("2012-09-15 00:00:00");
Date endTime = dateFormat.parse("2012-09-16 00:00:00");
IsGreaterThanOrEqualTo restriction1 = new IsGreaterThanOrEqualTo(AppointmentPropertyPath.START_TIME, startTime);
IsLessThanOrEqualTo restriction2 = new IsLessThanOrEqualTo(AppointmentPropertyPath.END_TIME, endTime);
And restriction3 = new And(restriction1, restriction2);
PropertyId billingInformationPropertyId = new PropertyId(0x8535, StandardPropertySet.COMMON, MapiPropertyType.STRING);
ItemShape shape = new ItemShape(AppointmentPropertyPath.getAllPropertyPaths());
shape.getPropertyPaths().add(billingInformationPropertyId);
FindItemResponse response = service.findItem(StandardFolder.CALENDAR, shape, restriction3);
for (int i = 0; i < response.getItems().size(); i++)
{
if (response.getItems().get(i) instanceof Appointment)
{
Appointment appointment = (Appointment) response.getItems().get(i);
System.out.println("Subject = " + appointment.getSubject());
System.out.println("StartTime = " + appointment.getStartTime());
System.out.println("EndTime = " + appointment.getEndTime());
if (appointment.getExtendedProperty(billingInformationPropertyId) != null)
{
System.out.println("Billing Information = " + appointment.getExtendedProperty(billingInformationPropertyId).getValue());
}
}
}
}
catch (ServiceException e)
{
System.out.println(e.getMessage());
System.out.println(e.getXmlMessage());
e.printStackTrace();
}
catch (ParseException e)
{
e.printStackTrace();
}
}
}