Compartilhar via


AddDelegateType Classe

Definição

A AddDelegateType classe representa uma solicitação para adicionar delegados a uma caixa de correio.

public ref class AddDelegateType : ExchangeWebServices::BaseDelegateType
public class AddDelegateType : ExchangeWebServices.BaseDelegateType
Public Class AddDelegateType
Inherits BaseDelegateType
Herança

Exemplos

O exemplo a seguir mostra como fornecer permissões de delegado user2 em pastas pertencentes ao user1. O User2 recebe permissões no nível do autor para a pasta Calendário do user1 e permissões no nível do Revisor para a pasta Contatos do usuário1. User2 receberá cópias de mensagens de reunião e poderá exibir itens privados na caixa de correio do user1. As solicitações de reunião serão enviadas para user1 e user2.

static void AddDelegate()
{
    // Set the version, credentials, and the Client Access server on ExchangeServiceBinding.
    ExchangeServiceBinding esb = new ExchangeServiceBinding();
    esb.RequestServerVersionValue = new RequestServerVersion();
    esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
    esb.Credentials = new NetworkCredential("username", "password", "domain");
    esb.Url = "https://FQDN/ews/exchange.asmx";

    // Create the request.
    AddDelegateType request = new AddDelegateType();

    // Identify the mailbox to which a delegate user will be added.
    request.Mailbox = new EmailAddressType();
    request.Mailbox.EmailAddress = "user1@example.com";

    // Identify the delegate user and set delegate permissions.
    request.DelegateUsers = new DelegateUserType[] { new DelegateUserType() };
    request.DelegateUsers[0].UserId = new UserIdType();
    request.DelegateUsers[0].UserId.PrimarySmtpAddress = "user2@example.com";
    request.DelegateUsers[0].DelegatePermissions = new DelegatePermissionsType();
    request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevelType.Author;
    request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevelSpecified = true;
    request.DelegateUsers[0].DelegatePermissions.ContactsFolderPermissionLevel = DelegateFolderPermissionLevelType.Reviewer;
    request.DelegateUsers[0].DelegatePermissions.ContactsFolderPermissionLevelSpecified = true;
    request.DelegateUsers[0].ReceiveCopiesOfMeetingMessages = true;
    request.DelegateUsers[0].ReceiveCopiesOfMeetingMessagesSpecified = true;
    request.DelegateUsers[0].ViewPrivateItems = true;
    request.DelegateUsers[0].ViewPrivateItemsSpecified = true;

    // Identify how meeting requests are handled.
    request.DeliverMeetingRequests = new DeliverMeetingRequestsType();
    request.DeliverMeetingRequests = DeliverMeetingRequestsType.DelegatesAndMe;
    request.DeliverMeetingRequestsSpecified = true;

    try
    {
        // Send the AddDelegate request and get the response.
        AddDelegateResponseMessageType response = esb.AddDelegate(request);
        DelegateUserResponseMessageType[] durmt = new DelegateUserResponseMessageType[] { };
        durmt = response.ResponseMessages;

        // Check each response message.
        foreach (DelegateUserResponseMessageType resp in durmt)
        {
            if (resp.ResponseClass == ResponseClassType.Success)
            {
                Console.WriteLine("Delegate user added: " + resp.DelegateUser.UserId.DisplayName);
            }
            else if (resp.ResponseClass == ResponseClassType.Error)
            {
                Console.WriteLine("Error: " + resp.MessageText);
            }
            else
                Console.WriteLine("Warning: " + resp.MessageText);
        }
        Console.ReadLine();
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
}

Construtores

AddDelegateType()

O AddDelegateType construtor inicializa uma nova instância da AddDelegateType classe.

Propriedades

DelegateUsers

A DelegateUsers propriedade obtém ou define uma DelegateUserType matriz que representa as identidades dos delegados a serem adicionadas a uma caixa de correio.

DeliverMeetingRequests

A DeliverMeetingRequests propriedade obtém ou define um DeliverMeetingRequestsType objeto que representa como as solicitações de reunião são tratadas entre o delegado e a entidade de segurança.

DeliverMeetingRequestsSpecified

A DeliverMeetingRequestsSpecified propriedade obtém ou define um valor booliano que especifica se a DeliverMeetingRequests propriedade é serializada na solicitação SOAP (Simple Object Access Protocol).

Mailbox

A Mailbox propriedade obtém ou define um EmailAddressType objeto que representa um objeto de serviço do Active Directory habilitado para email.

(Herdado de BaseDelegateType)

Aplica-se a