次の方法で共有


UpdateItemType クラス

定義

クラスは UpdateItemType 、一連の項目を更新する要求を表します。

public ref class UpdateItemType : ExchangeWebServices::BaseRequestType
public class UpdateItemType : ExchangeWebServices.BaseRequestType
Public Class UpdateItemType
Inherits BaseRequestType
継承
UpdateItemType

次のコード例は、会議を更新する方法を示しています。 この例は以下のアクションを実行します。

  1. 会議に新しい必須出席者を追加します。
  2. 会議の開始時刻をクライアントの現在の時刻に更新します。
  3. 会議にカスタム MAPI プロパティを追加します。
  4. 省略可能なすべての出席者を削除します。
  5. 更新操作の競合を自動的に解決します。
  6. 会議の更新をすべての出席者に送信し、更新された会議出席依頼のコピーをプロパティが識別するフォルダーに SavedItemFolderId 保存します。
static void UpdateItem(ExchangeServiceBinding esb)
{
    // Create calendar items to contain each non-deletion update.
    CalendarItemType ciAppendRA = new CalendarItemType();
    CalendarItemType ciSetStart = new CalendarItemType();
    CalendarItemType ciSetEP = new CalendarItemType();

    // Add a new required attendee to the calendar item.
    ciAppendRA.RequiredAttendees = new AttendeeType[1];
    ciAppendRA.RequiredAttendees[0] = new AttendeeType();
    ciAppendRA.RequiredAttendees[0].Mailbox = new EmailAddressType();
    ciAppendRA.RequiredAttendees[0].Mailbox.EmailAddress = "mskinner@example.com";
    // Identify the field to append.
    PathToUnindexedFieldType appReqAttendees = new PathToUnindexedFieldType();
    appReqAttendees.FieldURI = UnindexedFieldURIType.calendarRequiredAttendees;
    // Add the calendar item and the identified appended field to
    // the ItemChangeDescriptionType. This is an AppendToItemFieldType.
    AppendToItemFieldType append = new AppendToItemFieldType();
    append.Item = appReqAttendees;
    append.Item1 = ciAppendRA;

    // Set a new start time on a calendar item.
    ciSetStart.Start = DateTime.Now;
    ciSetStart.StartSpecified = true;
    // Identify the field to set.
    PathToUnindexedFieldType modStartTime = new PathToUnindexedFieldType();
    modStartTime.FieldURI = UnindexedFieldURIType.calendarStart;
    // Add the calendar item and the identified set field to
    // the ItemChangeDescriptionType. This is a SetItemFieldType.
    SetItemFieldType set = new SetItemFieldType();
    set.Item = modStartTime;
    set.Item1 = ciSetStart;

    // Set a custom property on a calendar item.
    PathToExtendedFieldType setMyProperty = new PathToExtendedFieldType();
    setMyProperty.DistinguishedPropertySetId = DistinguishedPropertySetType.PublicStrings;
    setMyProperty.DistinguishedPropertySetIdSpecified = true;
    setMyProperty.PropertyName = "Milestone date";
    setMyProperty.PropertyType = MapiPropertyTypeType.String;
    // Identify the custom property to set.
    ciSetEP.ExtendedProperty = new ExtendedPropertyType[1];
    ciSetEP.ExtendedProperty[0] = new ExtendedPropertyType();
    ciSetEP.ExtendedProperty[0].ExtendedFieldURI = setMyProperty;
    ciSetEP.ExtendedProperty[0].Item = "2007-07-18";
    // Add the calendar item and the identified custom property
    // to the ItemChangeDescriptionType. This is an SetItemFieldType.
    SetItemFieldType setCustomProp = new SetItemFieldType();
    setCustomProp.Item = setMyProperty;
    setCustomProp.Item1 = ciSetEP;

    // Delete optional attendees from the calendar item.
    PathToUnindexedFieldType delOptAttendees = new PathToUnindexedFieldType();
    delOptAttendees.FieldURI = UnindexedFieldURIType.calendarOptionalAttendees;
    // Add the property to delete to the ItemChangeDescriptionType.
    DeleteItemFieldType deletion = new DeleteItemFieldType();
    deletion.Item = delOptAttendees;            

    // Create the identifier of the item to update.
    ItemIdType itemId = new ItemIdType();
    itemId.Id = "AAAlAE1BQG";
    itemId.ChangeKey = "DwAAABYAAA";

    // Create and populate the request.
    UpdateItemType <span class="label">request</span> = new <span class="label">UpdateItemType</span>();
<span class="label">request</span>.ItemChanges = new ItemChangeType[1] { new ItemChangeType() };
<span class="label">request</span>.ItemChanges[0].Item = itemId;
<span class="label">request</span>.ItemChanges[0].Updates = new ItemChangeDescriptionType[4];
<span class="label">request</span>.ItemChanges[0].Updates[0] = append;
<span class="label">request</span>.ItemChanges[0].Updates[1] = set;
<span class="label">request</span>.ItemChanges[0].Updates[2] = deletion;
<span class="label">request</span>.ItemChanges[0].Updates[3] = setCustomProp;

<span class="label">request</span>.ConflictResolution = ConflictResolutionType.AutoResolve;
<span class="label">request</span>.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToAllAndSaveCopy;
<span class="label">request</span>.SendMeetingInvitationsOrCancellationsSpecified = true;

    // Send the update request and receive the response.
    UpdateItemResponseType response = esb.UpdateItem(<span class="label">request</span>);
    ArrayOfResponseMessagesType aormt = response.ResponseMessages;
    ResponseMessageType[] rmta = aormt.Items;

    foreach (ResponseMessageType rmt in rmta)
    {
        ItemInfoResponseMessageType respMsg = (rmt as ItemInfoResponseMessageType);
        foreach (ItemType item in respMsg.Items.Items)
        {
            Console.WriteLine("Item ID: " + item.ItemId.Id);
            Console.WriteLine("New change key: " + item.ItemId.ChangeKey);
            Console.ReadLine();
        }
    }
}

: 読みやすさを維持するために、要求の項目識別子と変更キーが短縮されました。

注釈

アイテムを更新するときに、プロパティを追加、設定、または削除できます。

変更する複数のプロパティを含む変更の説明を送信しようとすると、 ErrorIncorrectUpdatePropertyCount エラーが返されます。

コンストラクター

UpdateItemType()

コンストラクターは UpdateItemType 、 クラスの新しいインスタンスを UpdateItemType 初期化します。

プロパティ

ConflictResolution

プロパティは ConflictResolution 、更新中に実行される競合解決の種類を表す列挙値を取得または設定します。 このプロパティは必須です。 これは、読み取り/書き込みプロパティです。

ItemChanges

プロパティは ItemChanges 、項目の変更の配列を取得または設定します。 このプロパティは必須です。 これは、読み取り/書き込みプロパティです。

MessageDisposition

プロパティは MessageDisposition 、メッセージ項目が更新された後の処理方法を説明する列挙値を取得または設定します。 このプロパティは、会議のキャンセル、会議出席依頼、会議出席依頼などの会議メッセージを含むメッセージ アイテムに必要です。 これは、読み取り/書き込みプロパティです。

MessageDispositionSpecified

プロパティは MessageDispositionSpecified 、プロパティを Simple Object Access Protocol (SOAP) 要求にシリアル化するかどうかを MessageDisposition 指定するブール値を取得または設定します。 プロパティが設定されている場合は、 MessageDisposition このプロパティが必要です。 これは、読み取り/書き込みプロパティです。

SavedItemFolderId

プロパティは SavedItemFolderId 、保存済みアイテムのターゲット フォルダーを取得または設定します。 このプロパティは、 または DistinguishedFolderIdType オブジェクトでFolderIdType設定されます。 このプロパティは省略可能です。 これは、読み取り/書き込みプロパティです。

SendMeetingInvitationsOrCancellations

プロパティは SendMeetingInvitationsOrCancellations 、更新後の予定表アイテムの処理方法を説明する列挙値を取得または設定します。 予定表アイテムには、このプロパティが必要です。 これは、読み取り/書き込みプロパティです。

SendMeetingInvitationsOrCancellationsSpecified

プロパティは SendMeetingInvitationsOrCancellationsSpecified 、プロパティを Simple Object Access Protocol (SOAP) 要求にシリアル化するかどうかを SendMeetingInvitationsOrCancellations 指定するブール値を取得または設定します。 プロパティが設定されている場合は、 SendMeetingInvitationsOrCancellations このプロパティが必要です。 これは、読み取り/書き込みプロパティです。

適用対象