Compartir a través de


AddDelegateType Clase

Definición

La AddDelegateType clase representa una solicitud para agregar delegados a un buzón de correo.

public ref class AddDelegateType : ExchangeWebServices::BaseDelegateType
public class AddDelegateType : ExchangeWebServices.BaseDelegateType
Public Class AddDelegateType
Inherits BaseDelegateType
Herencia

Ejemplos

En el ejemplo siguiente se muestra cómo conceder permisos delegados user2 a las carpetas que pertenecen a user1. A User2 se le conceden permisos de nivel de autor para la carpeta Calendario del usuario1 y permisos de nivel de revisor para la carpeta Contactos del usuario1. User2 recibirá copias de mensajes de reunión y podrá ver elementos privados en el buzón de usuario1. Las convocatorias de reunión se enviarán a user1 y 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();
    }
}

Constructores

AddDelegateType()

El AddDelegateType constructor inicializa una nueva instancia de la AddDelegateType clase .

Propiedades

DelegateUsers

La DelegateUsers propiedad obtiene o establece una DelegateUserType matriz que representa las identidades de los delegados que se van a agregar a un buzón.

DeliverMeetingRequests

La DeliverMeetingRequests propiedad obtiene o establece un DeliverMeetingRequestsType objeto que representa cómo se controlan las solicitudes de reunión entre el delegado y la entidad de seguridad.

DeliverMeetingRequestsSpecified

La DeliverMeetingRequestsSpecified propiedad obtiene o establece un valor booleano que especifica si la DeliverMeetingRequests propiedad se serializa en la solicitud del Protocolo simple de acceso a objetos (SOAP).

Mailbox

La Mailbox propiedad obtiene o establece un EmailAddressType objeto que representa un objeto de servicio de directorio de Active Directory habilitado para correo.

(Heredado de BaseDelegateType)

Se aplica a