AddDelegateType 类

定义

AddDelegateType 表示向邮箱添加委托的请求。

public ref class AddDelegateType : ExchangeWebServices::BaseDelegateType
public class AddDelegateType : ExchangeWebServices.BaseDelegateType
Public Class AddDelegateType
Inherits BaseDelegateType
继承

示例

以下示例演示如何授予 user2 对 user1 拥有的文件夹的委托权限。 用户 2 具有对用户 1 的“日历”文件夹的作者级权限,并授予对 user1 的“联系人”文件夹的审阅者级权限。 User2 将收到会议邮件的副本,并且将能够查看 user1 邮箱中的私人项目。 会议请求将同时发送给 user1 和 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();
    }
}

构造函数

AddDelegateType()

构造 AddDelegateType 函数初始化 类的新实例 AddDelegateType

属性

DelegateUsers

属性 DelegateUsers 获取或设置一个 DelegateUserType 数组,该数组表示要添加到邮箱的委托的标识。

DeliverMeetingRequests

属性 DeliverMeetingRequests 获取或设置一个 DeliverMeetingRequestsType 对象,该对象表示在委托和主体之间处理会议请求的方式。

DeliverMeetingRequestsSpecified

属性 DeliverMeetingRequestsSpecified 获取或设置一个布尔值,该值指定属性是否 DeliverMeetingRequests 序列化为简单对象访问协议 (SOAP) 请求。

Mailbox

属性 Mailbox 获取或设置一个 EmailAddressType 对象,该对象表示已启用邮件的 Active Directory 目录服务对象。

(继承自 BaseDelegateType)

适用于