Операция AddDelegateAddDelegate operation

Операция AddDelegate добавляет одного или нескольких делегатов в почтовый ящик участника и задает конкретные разрешения на доступ.The AddDelegate operation adds one or more delegates to a principal's mailbox and sets specific access permissions.

Заголовки SOAPSOAP headers

Операция AddDelegate может использовать заголовки SOAP, указанные в приведенной ниже таблице и описанные в следующей таблице.The AddDelegate operation can use the SOAP headers that are listed and described in the following table.

HeaderHeader ЭлементElement ОписаниеDescription
ОлицетворениеImpersonation
ексчанжеимперсонатионExchangeImpersonation
Идентифицирует пользователя, который олицетворяет клиентское приложение.Identifies the user whom the client application is impersonating.
маилбокскултуреMailboxCulture
маилбокскултуреMailboxCulture
Определяет язык и региональные параметры RFC3066, которые будут использоваться для доступа к почтовому ящику.Identifies the RFC3066 culture to be used to access the mailbox.
рекуестверсионRequestVersion
рекуестсерверверсионRequestServerVersion
Определяет версию схемы для запроса операции.Identifies the schema version for the operation request.
серверверсионServerVersion
серверверсионинфоServerVersionInfo
Определяет версию сервера, который ответил на запрос.Identifies the version of the server that responded to the request.

Пример запроса AddDelegateAddDelegate request example

DescriptionDescription

В приведенном ниже примере запроса AddDelegate показана попытка предоставить представителю User1 разрешения на делегирование папок, владельцем которых является Пользователь2.The following example of an AddDelegate request shows an attempt to give user1 delegate permissions on folders that are owned by user2. Пользователю User1 предоставляются разрешения на уровне автора для папки календаря user2's и разрешения на уровне просмотра для папки контактов user2's.User1 is given Author-level permissions to user2's Calendar folder and Reviewer-level permissions to user2's Contacts folder. Пользователь1 не будет получать копии сообщений о собраниях и не сможет просматривать частные элементы в почтовом ящике user2's.User1 will not receive copies of meeting messages and will be unable to view private items in user2's mailbox. Приглашения на собрания будут отправляться как в Пользователь1, так и в Пользователь2.Meeting requests will be sent to both user1 and user2.

КодCode

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1"/>
  </soap:Header>
  <soap:Body xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
    <AddDelegate>
      <Mailbox>
        <t:EmailAddress>user2@example.com</t:EmailAddress>
      </Mailbox>
      <DelegateUsers>
        <t:DelegateUser>
          <t:UserId>
            <t:PrimarySmtpAddress>user1@example.com</t:PrimarySmtpAddress>
          </t:UserId>
          <t:DelegatePermissions>
            <t:CalendarFolderPermissionLevel>Author</t:CalendarFolderPermissionLevel>
            <t:ContactsFolderPermissionLevel>Reviewer</t:ContactsFolderPermissionLevel>
          </t:DelegatePermissions>
          <t:ReceiveCopiesOfMeetingMessages>false</t:ReceiveCopiesOfMeetingMessages>
          <t:ViewPrivateItems>false</t:ViewPrivateItems>
        </t:DelegateUser>
      </DelegateUsers>
      <DeliverMeetingRequests>DelegatesAndMe</DeliverMeetingRequests>
    </AddDelegate>
  </soap:Body>
</soap:Envelope>

Пример отклика AddDelegateAddDelegate response example

DescriptionDescription

В приведенном ниже примере ответа AddDelegate показано, как успешно ответить на запрос AddDelegate .The following example of an AddDelegate response shows a successful response to an AddDelegate request.

КодCode

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" 
                         MinorVersion="1" 
                         MajorBuildNumber="206" 
                         MinorBuildNumber="0" 
                         Version="Exchange2007_SP1" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <m:AddDelegateResponse xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                           ResponseClass="Success" 
                           xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseCode>NoError</m:ResponseCode>
      <m:ResponseMessages>
        <m:DelegateUserResponseMessageType ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:DelegateUser>
              <t:UserId>
                <t:SID>S-1-5-21-1333220396-2200287332-232816053-1116</t:SID>
                <t:PrimarySmtpAddress>User1@example.com</t:PrimarySmtpAddress>
                <t:DisplayName>User1</t:DisplayName>
              </t:UserId>
              <t:ReceiveCopiesOfMeetingMessages>false</t:ReceiveCopiesOfMeetingMessages>
            <t:ViewPrivateItems>false</t:ViewPrivateItems>
            </m:DelegateUser>
        </m:DelegateUserResponseMessageType>
      </m:ResponseMessages>
    </m:AddDelegateResponse>
  </soap:Body>
</soap:Envelope>

Пример ответа на сообщение об ошибке AddDelegateAddDelegate error response example

DescriptionDescription

В следующем примере показан ответ на запрос на добавление делегата, который уже был добавлен в почтовый ящик субъекта.The following example shows the response to a request to add a delegate who has already been added to the principal's mailbox.

КодCode

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <t:ServerVersionInfo MajorVersion="8" 
                         MinorVersion="1" 
                         MajorBuildNumber="206" 
                         MinorBuildNumber="0" 
                         Version="Exchange2007_SP1" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <m:AddDelegateResponse xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
                           ResponseClass="Success"
                           xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseCode>NoError</m:ResponseCode>
      <m:ResponseMessages>
        <m:DelegateUserResponseMessageType ResponseClass="Error">
          <m:MessageText>The user is already a delegate for the mailbox.</m:MessageText>
          <m:ResponseCode>ErrorDelegateAlreadyExists</m:ResponseCode>
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
        </m:DelegateUserResponseMessageType>
      </m:ResponseMessages>
      </m:AddDelegateResponse>
  </soap:Body>
</soap:Envelope>

КомментарииComments

Если при попытке добавить делегата возвращается код ответа Еррорделегатеалреадексистс, используйте операцию GetResponse для получения всех текущих разрешений для делегата, а затем используйте операцию UpdateDelegate для установки новых разрешений.If the ErrorDelegateAlreadyExists response code is returned when you try to add a delegate, use the GetDelegate operation to get all the current permissions for the delegate, and then use the UpdateDelegate operation to set the new permissions.

См. такжеSee also