static void CreateAppointment(ExchangeServiceBinding esb)
{
// Create the appointment.
CalendarItemType appointment = new CalendarItemType();
// Add item properties to the appointment.
appointment.Body = new BodyType();
appointment.Body.BodyType1 = BodyTypeType.Text;
appointment.Body.Value = "Agenda Items....";
appointment.Categories = new string[] { "Category1", "Category2" };
appointment.Importance = ImportanceChoicesType.High;
appointment.ImportanceSpecified = true;
appointment.ItemClass = "IPM.Appointment";
appointment.Subject = "Advance Design Presentation";
// Add calendar properties to the appointment.
appointment.Start = System.DateTime.Parse("2006-11-06T14:00:00Z");
appointment.StartSpecified = true;
appointment.End = System.DateTime.Parse("2006-11-06T15:00:00Z");
appointment.EndSpecified = true;
// Identify the destination folder that will contain the appointment.
DistinguishedFolderIdType folder = new DistinguishedFolderIdType();
folder.Id = DistinguishedFolderIdNameType.calendar;
// Create the array of items that will contain the appointment.
NonEmptyArrayOfAllItemsType arrayOfItems = new NonEmptyArrayOfAllItemsType();
arrayOfItems.Items = new ItemType[1];
// Add the appointment to the array of items.
arrayOfItems.Items[0] = appointment;
// Create the CreateItem request.
CreateItemType createItemRequest = new CreateItemType();
// The SendMeetingInvitations attribute is required for calendar items.
createItemRequest.SendMeetingInvitations = CalendarItemCreateOrDeleteOperationType.SendToNone;
createItemRequest.SendMeetingInvitationsSpecified = true;
// Add the destination folder to the CreateItem request.
createItemRequest.SavedItemFolderId = new TargetFolderIdType();
createItemRequest.SavedItemFolderId.Item = folder;
// Add the items to the CreateItem request.
createItemRequest.Items = arrayOfItems;
try
{
// Send the request and get the response.
CreateItemResponseType createItemResponse = esb.CreateItem(createItemRequest);
// Get the response messages.
ResponseMessageType[] rmta = createItemResponse.ResponseMessages.Items;
foreach (ResponseMessageType rmt in rmta)
{
ArrayOfRealItemsType itemArray = ((ItemInfoResponseMessageType)rmt).Items;
ItemType[] items = itemArray.Items;
// Get the item identifier and change key for each item.
foreach (ItemType item in items)
{
Console.WriteLine("Item identifier: " + item.ItemId.Id);
Console.WriteLine("Item change key: " + item.ItemId.ChangeKey);
}
}
}
catch (Exception e)
{
Console.WriteLine("Error Message: " + e.Message);
}
}
摘自:
http://technet.microsoft.com/zh-cn/library/aa563060(v=exchg.140)