ExchangeService 类

定义

表示到 Exchange Web Services (EWS) 的绑定。

public ref class ExchangeService sealed : Microsoft::Exchange::WebServices::Data::ExchangeServiceBase
public sealed class ExchangeService : Microsoft.Exchange.WebServices.Data.ExchangeServiceBase
Public NotInheritable Class ExchangeService
Inherits ExchangeServiceBase
继承
ExchangeService

示例

现在,让我们看看这一切的运行情况。 下面的代码示例演示如何设置特定的用户名和密码、使用自动发现发现发现 EWS 终结点、在用户的默认“联系人”文件夹中创建两个新联系人,以及授予第二个用户对用户日历文件夹的访问权限。

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Net;
using System.Security;
using Microsoft.Exchange.WebServices.Data;

static bool RedirectionCallback(string url)
{
    return url.ToLower().StartsWith("https://");
}

static void UseExchangeService(string userEmailAddress, SecureString userPassword)
{
    ExchangeService service = new ExchangeService();

    #region Authentication

    // Set specific credentials.
    service.Credentials = new NetworkCredential(userEmailAddress, userPassword);
    #endregion

    #region Endpoint management

    // Look up the user's EWS endpoint by using Autodiscover.
    service.AutodiscoverUrl(userEmailAddress, RedirectionCallback);

    Console.WriteLine("EWS Endpoint: {0}", service.Url);
    #endregion

    #region Working with groups of items

    // Create two new contacts in the user's default
    // Contacts folder.
    List<Contact> contactsToAdd = new List<Contact>();

    Contact newContact1 = new Contact(service);
    newContact1.GivenName = "Rosetta";
    newContact1.Surname = "Simpson";
    newContact1.PhoneNumbers[PhoneNumberKey.MobilePhone] = "425-555-1234";
    newContact1.EmailAddresses[EmailAddressKey.EmailAddress1] = "rosetta@alpineskihouse.com";

    contactsToAdd.Add(newContact1);

    Contact newContact2 = new Contact(service);
    newContact2.GivenName = "Barney";
    newContact2.Surname = "Carmack";
    newContact2.PhoneNumbers[PhoneNumberKey.MobilePhone] = "425-555-5678";
    newContact2.EmailAddresses[EmailAddressKey.EmailAddress1] = "barney@contoso.com";

    contactsToAdd.Add(newContact2);

    ServiceResponseCollection<ServiceResponse> createItemsResponse =
        service.CreateItems(contactsToAdd, WellKnownFolderName.Contacts, null, null);

    if (createItemsResponse.OverallResult != ServiceResult.Success)
    {
        Console.WriteLine("CreateItems returned a non-success response!");
        for (int i = 0; i < createItemsResponse.Count; i++)
        {
            Console.WriteLine("{0}: {1} - {2}", i + 1,
                createItemsResponse[i].ErrorCode, createItemsResponse[i].ErrorMessage);
        }
    }
    else
    {
        Console.WriteLine("CreateItems successfully created 2 contacts in default Contacts folder.");
    }
    #endregion

    #region Working with delegates

    // Add a user as a delegate with Reviewer rights
    // to the user's Calendar folder.
    Mailbox mailbox = new Mailbox(userEmailAddress);

    DelegateUser newDelegate = new DelegateUser("ian@fourthcoffee.com");
    newDelegate.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Reviewer;

    List<DelegateUser> delegatesToAdd = new List<DelegateUser>();
    delegatesToAdd.Add(newDelegate);

    Collection<DelegateUserResponse> addDelegateResponse = service.AddDelegates(mailbox, null, delegatesToAdd);

    for (int i = 0; i < addDelegateResponse.Count; i++)
    {
        if (addDelegateResponse[i].Result != ServiceResult.Success)
        {
            Console.WriteLine("Unable to add {0} as a delegate.", 
                addDelegateResponse[i].DelegateUser.UserId.PrimarySmtpAddress);
            Console.WriteLine("    {0}: {1}", addDelegateResponse[i].ErrorCode, 
                addDelegateResponse[i].ErrorMessage);
        }
        else
        {
            Console.WriteLine("Added {0} as a delegate.", 
                addDelegateResponse[i].DelegateUser.UserId.PrimarySmtpAddress);
        }    
    }

    #endregion
}

注解

必须先创建 类的 ExchangeService 实例,然后才能使用 EWS 托管 API 执行任何任务。 但 类 ExchangeService 不仅仅是用作 EWS 托管 API 客户端开发的起点。 它内置了相当多的功能。

表 1:ExchangeService 类的使用方法

控制身份验证如果用户使用用于访问 Exchange 服务器的相同凭据登录 Windows,请将 属性设置为 UseDefaultCredentialstrue ,使应用程序能够连接到 Exchange 服务器,而无需向用户询问用户名和密码。如果需要指定用户名和密码,请设置 Credentials 属性。 Credentials 属性使用 WebCredentials 对象来保证用户的身份验证信息安全。使用 Credentials 属性和 ImpersonatedUserId 属性作为服务帐户进行身份验证并模拟其他用户
管理终结点AutodiscoverUrl(String)使用 方法可自动为用户查找正确的 EWS 终结点。 或者,如果缓存了用户的终结点,则可以使用 Url 属性来使用该终结点。
使用项组CopyItems(IEnumerable<ItemId>, FolderId)使用 、CreateItems(IEnumerable<Item>, FolderId, Nullable<MessageDisposition>, Nullable<SendInvitationsMode>)DeleteItems(IEnumerable<ItemId>, DeleteMode, Nullable<SendCancellationsMode>, Nullable<AffectedTaskOccurrence>)MoveItems(IEnumerable<ItemId>, FolderId)UpdateItems(IEnumerable<Item>, FolderId, ConflictResolutionMode, Nullable<MessageDisposition>, Nullable<SendInvitationsOrCancellationsMode>) 方法对多个项执行批量操作。 可以使用这些方法处理一些方案,例如创建多个 Contact 对象以支持批量导入联系人或将多个 Task 对象标记为完成,所有这些操作都是在单个 EWS 请求中完成的。
使用委托AddDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, DelegateUser[])使用 、GetDelegates(Mailbox, Boolean, UserId[])RemoveDelegates(Mailbox, UserId[])UpdateDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, DelegateUser[]) 方法处理委托。

虽然我们无法在此处介绍类可以执行的所有操作 ExchangeService ,但可以通过浏览方法和属性来了解详细信息。 此类中你可能感兴趣的其他功能包括:

  • 自动 Cookie 管理
  • 用于故障排除的客户端日志记录
  • 外出) 设置管理 (规则和自动答复
  • 针对通讯簿的名称解析
  • 邮箱搜索

构造函数

ExchangeService()

初始化 类的新实例 ExchangeService ,面向最新受支持的 Exchange Web Services 版本 (EWS) ,并且范围限定为系统的当前时区。

ExchangeService(ExchangeVersion)

初始化 类的新实例 ExchangeService ,目标为指定版本的 Exchange Web Services (EWS) ,范围限定为系统的当前时区。

ExchangeService(ExchangeVersion, TimeZoneInfo)

初始化 类的新实例 ExchangeService ,面向指定版本的 Exchange Web Services (EWS) ,并且范围限定为指定的时区。

ExchangeService(TimeZoneInfo)

初始化 类的新实例 ExchangeService ,面向最新受支持的 Exchange Web Services 版本 (EWS) ,范围限定为指定的时区。

属性

AcceptGzipEncoding

获取或设置一个值,该值指示是否应接受 GZip 压缩编码。

(继承自 ExchangeServiceBase)
ClientRequestId

获取或设置请求 ID。 属性ClientRequestId适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
ConnectionGroupName

获取或设置请求的连接组的名称。 属性ConnectionGroupName适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
CookieContainer

获取或设置 Cookie 容器。

(继承自 ExchangeServiceBase)
Credentials

获取或设置用于在 Exchange Web Services (EWS) 进行身份验证的凭据。

(继承自 ExchangeServiceBase)
DateTimePrecision

获取或设置用于从 Exchange Web Services (EWS) 返回 的 DateTime 值的精度程度。此属性是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

EnableScpLookup

获取或设置一个值,该值指示 Exchange Web Services (EWS) 在确定服务 URL 时是否应执行服务连接点 (SCP) 查找。

FileAttachmentContentHandler

获取或设置文件附件内容处理程序。

HttpHeaders

获取与向 Exchange Web Services (EWS) 的请求关联的 HTTP 标头列表。

(继承自 ExchangeServiceBase)
HttpResponseHeaders

从最后一个响应中获取 HTTP 标头的集合。 属性HttpResponseHeaders适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
ImpersonatedUserId

获取或设置 Exchange Web Services (EWS) 要模拟的用户的 ID。

KeepAlive

获取或设置请求是否应包含 Keep-alive 标头。 属性KeepAlive适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
ManagementRoles

获取或设置用于基于组成员身份限制访问的用户和应用程序角色。属性ManagementRoles适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

PreAuthenticate

获取或设置一个值,该值指示是否应执行 HTTP 预身份验证。

(继承自 ExchangeServiceBase)
PreferredCulture

获取或设置 Exchange Web Services (EWS) 返回的邮件的首选区域性。

RequestedServerVersion

获取请求的服务器版本。

(继承自 ExchangeServiceBase)
ReturnClientRequestId

获取或设置一个标志,指示客户端需要响应以包含请求 ID。 属性ReturnClientRequestId适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
SendClientLatencies

获取或设置客户端是否必须发送客户端延迟信息。 属性SendClientLatencies适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
ServerInfo

获取与处理最新请求的服务器关联的信息。

(继承自 ExchangeServiceBase)
Timeout

获取或设置发送 HTTP 请求和接收 HTTP 响应时使用的超时(以毫秒为单位)。

(继承自 ExchangeServiceBase)
TimeZone

获取 Exchange Web Services (EWS) 的时区。

TraceEnabled

获取或设置一个值,该值指示是否启用跟踪。

(继承自 ExchangeServiceBase)
TraceEnablePrettyPrinting

获取或设置一个值,该值指示跟踪输出是否应用了风格格式设置约定。 属性TraceEnablePrettyPrinting适用于面向 Exchange Online 和从 2013 Exchange Server 开始的 Exchange 版本的客户端。

TraceFlags

获取或设置跟踪标志。

(继承自 ExchangeServiceBase)
TraceListener

获取或设置跟踪侦听器。

(继承自 ExchangeServiceBase)
UnifiedMessaging

提供对统一消息 (UM) 功能的访问权限。

Url

获取或设置 Exchange Web Services (EWS) 的 URL。

UseDefaultCredentials

获取或设置一个值,该值指示是否应使用当前登录到 Windows 的用户的凭据通过 Exchange Web Services (EWS) 进行身份验证。

(继承自 ExchangeServiceBase)
UserAgent

获取或设置用户代理。

(继承自 ExchangeServiceBase)
WebProxy

获取或设置处理请求的 Web 代理服务器。

(继承自 ExchangeServiceBase)

方法

AddDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, DelegateUser[])

将委托添加到特定邮箱。

AddDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, IEnumerable<DelegateUser>)

将委托添加到指定的邮箱。

ArchiveItems(IEnumerable<ItemId>, FolderId)

存档目标文件夹中的多个项目。 方法ArchiveItems(IEnumerable<ItemId>, FolderId)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

AutodiscoverUrl(String)

Url通过调用自动发现服务,初始化指定电子邮件地址的 Exchange Web Services (EWS) 终结点的 属性。

AutodiscoverUrl(String, AutodiscoverRedirectionUrlValidationCallback)

Url通过调用自动发现服务,初始化指定电子邮件地址的 Exchange Web Services (EWS) 终结点的 属性。

BeginGetNonIndexableItemDetails(AsyncCallback, Object, GetNonIndexableItemDetailsParameters)

异步调用以获取不可索引项详细信息

BeginGetNonIndexableItemStatistics(AsyncCallback, Object, GetNonIndexableItemStatisticsParameters)

异步调用以获取不可索引项统计信息

BeginSearchMailboxes(AsyncCallback, Object, SearchMailboxesParameters)

通过使用关联的 SearchMailboxesParameters 对象指定搜索请求的详细信息,启动异步请求,以搜索与查询字符串匹配的项目的邮箱。 方法BeginSearchMailboxes(AsyncCallback, Object, SearchMailboxesParameters)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

BeginSubscribeToPullNotifications(AsyncCallback, Object, IEnumerable<FolderId>, Int32, String, EventType[])

开始订阅拉取通知的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSubscribeToPullNotificationsOnAllFolders(AsyncCallback, Object, Int32, String, EventType[])

开始异步请求订阅指定用户邮箱中所有文件夹的拉取通知。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSubscribeToPushNotifications(AsyncCallback, Object, IEnumerable<FolderId>, Uri, Int32, String, EventType[])

开始订阅推送通知的异步请求。 方法BeginSubscribeToPushNotifications(AsyncCallback, Object, IEnumerable<FolderId>, Uri, Int32, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

BeginSubscribeToPushNotifications(AsyncCallback, Object, IEnumerable<FolderId>, Uri, Int32, String, String, EventType[])

开始订阅推送通知的异步请求,该请求包括请求,请求在推送通知响应中返回其他信息。 方法BeginSubscribeToPushNotifications(AsyncCallback, Object, IEnumerable<FolderId>, Uri, Int32, String, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

BeginSubscribeToPushNotificationsOnAllFolders(AsyncCallback, Object, Uri, Int32, String, EventType[])

开始一个异步请求,以订阅指定用户邮箱中所有文件夹上的推送通知。 方法BeginSubscribeToPushNotificationsOnAllFolders(AsyncCallback, Object, Uri, Int32, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

BeginSubscribeToPushNotificationsOnAllFolders(AsyncCallback, Object, Uri, Int32, String, String, EventType[])

开始一个异步请求,以订阅经过身份验证的用户邮箱中所有文件夹的推送通知,其中包括请求在推送通知响应中返回其他信息。 方法BeginSubscribeToPushNotificationsOnAllFolders(AsyncCallback, Object, Uri, Int32, String, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

BeginSubscribeToStreamingNotifications(AsyncCallback, Object, IEnumerable<FolderId>, EventType[])

开始订阅流式处理通知的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSubscribeToStreamingNotificationsOnAllFolders(AsyncCallback, Object, EventType[])

开始一个异步请求,以订阅指定用户邮箱中所有文件夹的流式处理通知。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSyncFolderHierarchy(AsyncCallback, Object, FolderId, PropertySet, String)

开始同步指定文件夹层次结构的子文件夹的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSyncFolderHierarchy(AsyncCallback, Object, PropertySet, String)

开始请求同步指定邮箱的整个文件夹层次结构。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BeginSyncFolderItems(AsyncCallback, Object, FolderId, PropertySet, IEnumerable<ItemId>, Int32, SyncFolderItemsScope, String)

开始一个异步请求,以同步指定文件夹中包含的项目。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

BindToItems(IEnumerable<ItemId>, PropertySet)

在单个调用 Exchange Web Services (EWS) 中绑定到多个项。

ConvertId(AlternateIdBase, IdFormat)

在单个 Exchange Web Services (EWS) 调用中将 ID 从一种格式转换为另一种格式。

ConvertIds(IEnumerable<AlternateIdBase>, IdFormat)

在一次调用 Exchange Web Services (EWS) 中,将多个 ID 从一种格式转换为另一种格式。

CopyItems(IEnumerable<ItemId>, FolderId)

在一次调用 Exchange Web Services (EWS) 中复制多个项目。

CopyItems(IEnumerable<ItemId>, FolderId, Boolean)

在一次调用 Exchange Web Services (EWS) 中复制多个项目。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

CopyItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, FolderId)

将指定会话中的项目复制到指定的目标文件夹。

CreateItems(IEnumerable<Item>, FolderId, Nullable<MessageDisposition>, Nullable<SendInvitationsMode>)

在单个 Exchange Web Services 中创建多个项, (EWS) 调用。

DeleteItems(IEnumerable<ItemId>, DeleteMode, Nullable<SendCancellationsMode>, Nullable<AffectedTaskOccurrence>)

在单个调用 Exchange Web Services (EWS) 中删除多个项目。

DeleteItems(IEnumerable<ItemId>, DeleteMode, Nullable<SendCancellationsMode>, Nullable<AffectedTaskOccurrence>, Boolean)

在对 EWS 的单个调用中删除多个项。

DeleteItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, DeleteMode)

删除指定对话中的项目。

DisableAlwaysCategorizeItemsInConversations(IEnumerable<ConversationId>, Boolean)

禁用对在指定对话中收到的新项目的自动分类。

DisableAlwaysDeleteItemsInConversations(IEnumerable<ConversationId>, Boolean)

禁用将项目从指定对话自动移动到“已删除邮件”文件夹。

DisableAlwaysMoveItemsInConversations(IEnumerable<ConversationId>, Boolean)

禁用将项目从指定对话自动移动到指定文件夹。

DisableApp(String, DisableReasonType)

禁用客户端扩展。 方法DisableApp(String, DisableReasonType)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

EnableAlwaysCategorizeItemsInConversations(IEnumerable<ConversationId>, IEnumerable<String>, Boolean)

启用指定对话中的项的自动分类。

EnableAlwaysDeleteItemsInConversations(IEnumerable<ConversationId>, Boolean)

启用将项目从指定对话自动移动到“已删除邮件”文件夹。

EnableAlwaysMoveItemsInConversations(IEnumerable<ConversationId>, FolderId, Boolean)

启用对话中的新项目和现有项自动移动到目标文件夹。

EndGetNonIndexableItemDetails(IAsyncResult)

异步调用,请求有关无法编制索引的文件夹项的元数据。

EndGetNonIndexableItemStatistics(IAsyncResult)

异步调用,请求有关无法编制索引的文件夹项的统计信息。

EndSearchMailboxes(IAsyncResult)

异步请求搜索邮箱查询。 方法EndSearchMailboxes(IAsyncResult)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

EndSubscribeToPullNotifications(IAsyncResult)

结束订阅经过身份验证的用户邮箱中的拉取通知的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

EndSubscribeToPushNotifications(IAsyncResult)

结束订阅指定用户邮箱中的推送通知的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

EndSubscribeToStreamingNotifications(IAsyncResult)

结束订阅指定用户邮箱中的流式处理通知的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

EndSyncFolderHierarchy(IAsyncResult)

结束同步邮箱的指定文件夹层次结构的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

EndSyncFolderItems(IAsyncResult)

结束同步邮箱指定文件夹中的项目的异步请求。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

ExpandGroup(EmailAddress)

展开由指定电子邮件地址标识的组。

ExpandGroup(ItemId)

展开由指定组 ID 标识的组。

ExpandGroup(String)

展开由指定组 SMTP 地址标识的组。

ExpandGroup(String, String)

展开由指定的组 SMTP 地址和该地址的路由类型标识的组。

FindAppointments(FolderId, CalendarView)

通过搜索指定文件夹的内容获取约会列表。

FindAppointments(WellKnownFolderName, CalendarView)

通过搜索指定文件夹的内容获取约会列表。

FindConversation(ViewBase, FolderId)

检索指定文件夹中所有对话的集合。 方法FindConversation(ViewBase, FolderId)适用于从 Microsoft Exchange Server 2010 Service Pack 1 (SP1) 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindConversation(ViewBase, FolderId, String)

根据指定的查询检索指定文件夹中所有会话的集合。 方法FindConversation(ViewBase, FolderId, String)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindConversation(ViewBase, FolderId, String, Boolean)

根据指定的查询搜索和检索指定文件夹中的对话集合。 除了对话,还返回突出显示的术语列表。 方法FindConversation(ViewBase, FolderId, String, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindConversation(ViewBase, FolderId, String, Boolean, Nullable<MailboxSearchLocation>)

根据指定的查询搜索和检索指定文件夹中的对话集合。 除了对话,还返回突出显示的术语列表。 目标文件夹 () 可以是主邮箱和/或存档邮箱。 方法FindConversation(ViewBase, FolderId, String, Boolean, Nullable<MailboxSearchLocation>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindFolders(FolderId, FolderView)

通过搜索指定文件夹的子文件夹来获取文件夹列表。

FindFolders(FolderId, SearchFilter, FolderView)

使用指定的搜索筛选器和指定的文件夹视图搜索文件夹。

FindFolders(WellKnownFolderName, FolderView)

通过搜索指定文件夹的子文件夹获取文件夹列表。

FindFolders(WellKnownFolderName, SearchFilter, FolderView)

使用指定的搜索筛选器和指定的文件夹视图搜索已知文件夹。

FindItems(FolderId, SearchFilter, ViewBase)

返回具有指定预览页面视图的按项目类型筛选的目标文件夹中的项目。

FindItems(FolderId, SearchFilter, ViewBase, Grouping)

通过搜索特定文件夹的内容获取项目分组列表。

FindItems(FolderId, String, Boolean, ViewBase)

根据具有指定预览页面视图和可选字词突出显示的关联搜索查询,从目标文件夹中返回项目。 方法FindItems(FolderId, String, Boolean, ViewBase)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(FolderId, String, Boolean, ViewBase, Grouping)

根据关联的搜索查询返回目标文件夹中的分组项,(可选)并突出显示字词。 方法FindItems(FolderId, String, Boolean, ViewBase, Grouping)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(FolderId, String, ViewBase)

根据具有指定预览页面视图的关联搜索查询,从目标文件夹中返回项目。 方法FindItems(FolderId, String, ViewBase)适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(FolderId, String, ViewBase, Grouping)

根据指定的查询返回目标文件夹中的分组项。方法FindItems(FolderId, String, ViewBase, Grouping)适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(FolderId, ViewBase)

返回具有指定预览页面视图的目标文件夹中的项目。

FindItems(FolderId, ViewBase, Grouping)

返回具有指定预览页面视图的目标文件夹中分组的项目。

FindItems(WellKnownFolderName, SearchFilter, ViewBase)

返回具有指定预览页面视图的目标文件夹中按类型筛选的项目。

FindItems(WellKnownFolderName, SearchFilter, ViewBase, Grouping)

根据指定的预览页面视图,返回目标文件夹中按类型筛选的分组项。

FindItems(WellKnownFolderName, String, ViewBase)

使用具有指定预览页面视图的关联查询从目标文件夹中返回项目。 方法FindItems(WellKnownFolderName, String, ViewBase)适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(WellKnownFolderName, String, ViewBase, Grouping)

使用具有指定预览页面视图的关联查询从目标文件夹中返回分组的项目。 方法FindItems(WellKnownFolderName, String, ViewBase, Grouping)适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

FindItems(WellKnownFolderName, ViewBase)

返回具有指定预览页面视图的目标文件夹中的项目。

GetAppManifests()

获取服务器上安装的应用的应用清单。方法GetAppManifests()适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetAppManifests(String, String)

获取服务器上安装的应用的应用清单,这些应用支持指定的 API 和架构版本。方法GetAppManifests(String, String)适用于面向 Exchange Online 和 Exchange 版本(从 15.00.0847.032 开始)的客户端。

GetAppMarketplaceUrl()

获取应用市场的 URL。方法GetAppMarketplaceUrl()适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetAppMarketplaceUrl(String, String)

根据支持的 API 和架构版本获取应用市场的 URL。方法GetAppMarketplaceUrl(String, String)适用于面向 Exchange Online 和 Exchange 版本(从 15.00.0847.032 开始)的客户端。

GetAttachments(Attachment[], Nullable<BodyType>, IEnumerable<PropertyDefinitionBase>)

从服务器获取附件属性。

GetAttachments(String[], Nullable<BodyType>, IEnumerable<PropertyDefinitionBase>)

从服务器获取附件属性。

GetClientAccessToken(ClientAccessTokenRequest[])

获取基于对象数组ClientAccessTokenRequest的令牌标识符和类型的集合。方法GetClientAccessToken(ClientAccessTokenRequest[])适用于面向 Exchange Online 和从 15.00.0847.032 开始的 Exchange 版本的客户端。

GetClientAccessToken(IEnumerable<KeyValuePair<String,ClientAccessTokenType>>)

获取基于令牌 ID 和令牌类型的键值对的令牌标识符和类型的集合。方法GetClientAccessToken(IEnumerable<KeyValuePair<String,ClientAccessTokenType>>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetClientExtension(StringList, Boolean, Boolean, String, StringList, StringList, Boolean)

获取客户端扩展信息。 此方法在服务器到服务器调用中用于检索管理员Windows PowerShell或 Exchange 统一管理控制台的组织扩展, (UMC) 访问,以及用户的Windows PowerShell或 UMC 访问,以及用户激活 Outlook Web Access (OWA) 或 Outlook。 不应直接从用户客户端使用或调用此方法。 方法GetClientExtension(StringList, Boolean, Boolean, String, StringList, StringList, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetConversationItems(ConversationId, PropertySet, String, IEnumerable<FolderId>, Nullable<ConversationSortOrder>)

获取由会话标识符指定的会话中的部分或所有项。 检索到的项具有指定的属性,根据同步状态提供的信息与服务器同步,并根据排序顺序进行排序。 有选择地忽略搜索层次结构中的文件夹,可能会进一步限制返回的项目。 方法GetConversationItems(ConversationId, PropertySet, String, IEnumerable<FolderId>, Nullable<ConversationSortOrder>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetConversationItems(IEnumerable<ConversationRequest>, PropertySet, IEnumerable<FolderId>, Nullable<ConversationSortOrder>)

获取与一组对话关联的项。 检索到的项具有指定的附加属性,并根据排序顺序进行排序。 返回的项受到有选择地忽略搜索层次结构中的文件夹的限制。 方法GetConversationItems(IEnumerable<ConversationRequest>, PropertySet, IEnumerable<FolderId>, Nullable<ConversationSortOrder>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetConversationItems(IEnumerable<ConversationRequest>, PropertySet, IEnumerable<FolderId>, Nullable<ConversationSortOrder>, Nullable<MailboxSearchLocation>)

获取与一组对话关联的项。 检索到的项具有指定的附加属性,并根据排序顺序进行排序。 通过选择性地忽略搜索层次结构中的文件夹以及目标邮箱是主邮箱和/或存档邮箱,可以进一步限制返回的项目集。 方法GetConversationItems(IEnumerable<ConversationRequest>, PropertySet, IEnumerable<FolderId>, Nullable<ConversationSortOrder>, Nullable<MailboxSearchLocation>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetDelegates(Mailbox, Boolean, IEnumerable<UserId>)

从指定邮箱检索委托。

GetDelegates(Mailbox, Boolean, UserId[])

从指定邮箱检索委托。

GetDiscoverySearchConfiguration(String, Boolean, Boolean)

获取用于电子数据展示的搜索配置信息。 方法GetDiscoverySearchConfiguration(String, Boolean, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetEncryptionConfiguration()

仅供内部使用。

GetHoldOnMailboxes(String)

获取有关邮箱上的电子数据展示保留的信息。 方法GetHoldOnMailboxes(String)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetInboxRules()

检索与指定用户关联的收件箱规则集合。

GetInboxRules(String)

检索与指定用户关联的收件箱规则集合。

GetNonIndexableItemDetails(GetNonIndexableItemDetailsParameters)

获取有关目标邮箱中无法使用关联 GetNonIndexableItemDetailsParameters 对象编制索引的项目的信息。 方法GetNonIndexableItemDetails(GetNonIndexableItemDetailsParameters)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetNonIndexableItemDetails(String[])

获取有关目标邮箱中无法编制索引的项目的信息。 方法GetNonIndexableItemDetails(String[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetNonIndexableItemDetails(String[], Nullable<Int32>, String, Nullable<SearchPageDirection>)

获取有关目标邮箱中无法编制索引的项目的信息,包括页面视图的大小、页面视图的引用标识符,以及页面视图 (向前或向后) 搜索方向。 方法GetNonIndexableItemDetails(String[], Nullable<Int32>, String, Nullable<SearchPageDirection>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetNonIndexableItemStatistics(GetNonIndexableItemStatisticsParameters)

获取有关目标邮箱中无法使用关联 GetNonIndexableItemStatisticsParameters 对象编制索引的项目的统计信息。 方法GetNonIndexableItemStatistics(GetNonIndexableItemStatisticsParameters)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetNonIndexableItemStatistics(String[])

获取有关目标邮箱中无法编制索引的项目的统计信息。 方法GetNonIndexableItemStatistics(String[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetPasswordExpirationDate(String)

获取指定邮箱用户的域密码过期日期。 此方法是在 Exchange Server 2010 SP2 和 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

GetRoomLists()

检索指定组织中所有会议室列表的集合。

GetRooms(EmailAddress)

检索组织中指定会议室列表中所有会议室的集合。

GetSearchableMailboxes(String, Boolean)

获取两个邮箱列表:可以搜索的邮箱列表和无法出于电子数据展示目的搜索的邮箱列表。 方法GetSearchableMailboxes(String, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

GetUserAvailability(IEnumerable<AttendeeInfo>, TimeWindow, AvailabilityData)

检索有关指定时间段内一组用户、会议室和资源可用性的详细信息。

GetUserAvailability(IEnumerable<AttendeeInfo>, TimeWindow, AvailabilityData, AvailabilityOptions)

检索有关指定时间段内一组用户、会议室和资源可用性的详细信息。

GetUserOofSettings(String)

获取指定邮箱的外出 (OOF) 设置。

GetUserRetentionPolicyTags()

获取用户保留策略标记。 方法GetUserRetentionPolicyTags()适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

InstallApp(Stream)

安装邮件应用。 方法InstallApp(Stream)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

LoadPropertiesForItems(IEnumerable<Item>, PropertySet)

在对 Exchange Web Services 的单个调用中加载多个项的属性, (EWS) 。

MarkAsJunk(IEnumerable<ItemId>, Boolean, Boolean)

将邮箱项目标记为垃圾邮件。 方法MarkAsJunk(IEnumerable<ItemId>, Boolean, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

MoveItems(IEnumerable<ItemId>, FolderId)

在单个调用 Exchange Web Services (EWS) 中移动多个项目。

MoveItems(IEnumerable<ItemId>, FolderId, Boolean)

在单个调用 Exchange Web Services (EWS) 中移动多个项目。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

MoveItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, FolderId)

将项目从指定对话移动到指定的目标文件夹。

RemoveDelegates(Mailbox, IEnumerable<UserId>)

从特定邮箱中删除代理人。

RemoveDelegates(Mailbox, UserId[])

从指定邮箱中删除委托。 调用此方法会导致调用 Exchange Web Services (EWS) 。

ResolveName(String)

查找用户的“联系人”文件夹和全局地址列表 (GAL) ,其名称与作为参数传递的名称匹配。

ResolveName(String, IEnumerable<FolderId>, ResolveNameSearchLocation, Boolean)

查找指定联系人文件夹和/或全局地址列表 (GAL) 中名称与作为参数传递的姓名匹配的联系人。

ResolveName(String, IEnumerable<FolderId>, ResolveNameSearchLocation, Boolean, PropertySet)

在全局地址列表 (GAL) 和/或特定联系人文件夹中查找其名称与指定名称匹配的联系人。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

ResolveName(String, ResolveNameSearchLocation, Boolean)

在默认联系人文件夹和/或全局地址列表 (GAL) 查找其名称与作为参数传递的名称匹配的联系人。

ResolveName(String, ResolveNameSearchLocation, Boolean, PropertySet)

在全局地址列表 (GAL) 查找其名称与指定名称匹配的联系人。此方法是在 Exchange Web Services (EWS) 托管 API 1.2 中引入的。

SearchMailboxes(IEnumerable<MailboxQuery>, SearchResultType)

在邮箱中搜索与一组查询字符串匹配的项目。 搜索结果可以是统计或项预览。 方法SearchMailboxes(IEnumerable<MailboxQuery>, SearchResultType)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SearchMailboxes(IEnumerable<MailboxQuery>, SearchResultType, String, SortDirection, Int32, SearchPageDirection, String)

在邮箱中搜索与一组查询字符串匹配的项目,并返回预览项目的排序排序结果。 方法SearchMailboxes(IEnumerable<MailboxQuery>, SearchResultType, String, SortDirection, Int32, SearchPageDirection, String)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SearchMailboxes(SearchMailboxesParameters)

使用关联的 SearchMailboxesParameters 对象在邮箱中搜索与查询字符串匹配的项目,以指定搜索请求的详细信息。 方法SearchMailboxes(SearchMailboxesParameters)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetClientExtension(List<SetClientExtensionAction>)

设置客户端扩展数据。 此方法在服务器到服务器的调用中使用,用于安装、卸载或配置组织扩展,以支持管理员通过 Windows PowerShell 或 Exchange 统一管理控制台 (UMC) 管理组织扩展。 方法SetClientExtension(List<SetClientExtensionAction>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetEncryptionConfiguration(String, String, String, String)

仅供内部使用。

SetFlagStatusForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Flag)

设置对话中项的标志状态。 方法SetFlagStatusForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Flag)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetHoldOnMailboxes(SetHoldOnMailboxesParameters)

针对一个或多个邮箱中的项目设置基于查询的保留,以便进行电子数据展示。该方法SetHoldOnMailboxes(SetHoldOnMailboxesParameters)适用于从 2013 Exchange Server 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetHoldOnMailboxes(String, HoldAction, String, String)

为电子数据展示的目的,对邮箱中的项目设置基于查询的保留。 方法SetHoldOnMailboxes(String, HoldAction, String, String)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetHoldOnMailboxes(String, HoldAction, String, String, String)

为电子数据展示目的设置邮箱中项目特定持续时间的基于查询的保留。该方法SetHoldOnMailboxes(String, HoldAction, String, String, String)适用于从 2013 Exchange Server 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetHoldOnMailboxes(String, HoldAction, String, String[])

为电子数据展示目的,对邮箱集合上的项目设置基于查询的保留。 方法SetHoldOnMailboxes(String, HoldAction, String, String[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetReadStateForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Boolean)

设置会话中项目的读取状态。方法SetReadStateForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetReadStateForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Boolean, Boolean)

设置会话中项目的读取状态,并选择性地设置一个取消已读回执的值。 方法SetReadStateForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, Boolean, Boolean)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetRetentionPolicyForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, RetentionType, Nullable<Guid>)

设置对话中项目的保留策略。 方法SetRetentionPolicyForItemsInConversations(IEnumerable<KeyValuePair<ConversationId,Nullable<DateTime>>>, FolderId, RetentionType, Nullable<Guid>)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetTeamMailbox(EmailAddress, Uri, TeamMailboxLifecycleState)

设置共享邮箱。 方法SetTeamMailbox(EmailAddress, Uri, TeamMailboxLifecycleState)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SetUserOofSettings(String, OofSettings)

设置指定邮箱的外出 (OOF) 设置。

SubscribeToPullNotifications(IEnumerable<FolderId>, Int32, String, EventType[])

订阅拉取通知。

SubscribeToPullNotificationsOnAllFolders(Int32, String, EventType[])

订阅用户邮箱中所有文件夹的拉取通知。

SubscribeToPushNotifications(IEnumerable<FolderId>, Uri, Int32, String, EventType[])

启动客户端接收推送通知的请求。 方法SubscribeToPushNotifications(IEnumerable<FolderId>, Uri, Int32, String, EventType[])适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

SubscribeToPushNotifications(IEnumerable<FolderId>, Uri, Int32, String, String, EventType[])

启动一个请求以接收推送通知,该请求包括请求在推送通知响应中返回其他信息。 方法SubscribeToPushNotifications(IEnumerable<FolderId>, Uri, Int32, String, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SubscribeToPushNotificationsOnAllFolders(Uri, Int32, String, EventType[])

启动请求以接收用户邮箱中所有文件夹的推送通知。 方法SubscribeToPushNotificationsOnAllFolders(Uri, Int32, String, EventType[])适用于从 Exchange Server 2010 开始面向 Exchange Online 和 Exchange 版本的客户端。

SubscribeToPushNotificationsOnAllFolders(Uri, Int32, String, String, EventType[])

启动一个请求,以接收用户邮箱中所有文件夹的推送通知,其中包括请求在推送通知响应中返回其他信息的请求。 方法SubscribeToPushNotificationsOnAllFolders(Uri, Int32, String, String, EventType[])适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

SubscribeToStreamingNotifications(IEnumerable<FolderId>, EventType[])

订阅流式处理通知。 调用此方法会导致调用 Exchange Web Services (EWS) 。

SubscribeToStreamingNotificationsOnAllFolders(EventType[])

订阅指定用户邮箱中所有文件夹的流式处理通知。

SyncFolderHierarchy(FolderId, PropertySet, String)

同步指定文件夹的子文件夹。

SyncFolderHierarchy(PropertySet, String)

同步指定 Web 服务连接到的邮箱的整个文件夹层次结构。

SyncFolderItems(FolderId, PropertySet, IEnumerable<ItemId>, Int32, SyncFolderItemsScope, String)

同步指定文件夹中的项目。

UninstallApp(String)

卸载邮件应用。 方法UninstallApp(String)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

UnpinTeamMailbox(EmailAddress)

取消固定网站邮箱。 取消固定邮箱后,不再保证该邮箱可以脱机使用。 方法UnpinTeamMailbox(EmailAddress)适用于从 Exchange Server 2013 开始面向 Exchange Online 和 Exchange 版本的客户端。

UpdateDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, DelegateUser[])

汇报指定邮箱上的委托。

UpdateDelegates(Mailbox, Nullable<MeetingRequestsDeliveryScope>, IEnumerable<DelegateUser>)

汇报指定邮箱上的委托。

UpdateInboxRules(IEnumerable<RuleOperation>, Boolean)

通过应用指定的操作汇报指定用户的收件箱规则。

UpdateInboxRules(IEnumerable<RuleOperation>, Boolean, String)

通过应用指定的操作汇报指定用户的收件箱规则。

UpdateItems(IEnumerable<Item>, FolderId, ConflictResolutionMode, Nullable<MessageDisposition>, Nullable<SendInvitationsOrCancellationsMode>)

汇报单个 Exchange Web Services (EWS) 调用的多个项目。

UpdateItems(IEnumerable<Item>, FolderId, ConflictResolutionMode, Nullable<MessageDisposition>, Nullable<SendInvitationsOrCancellationsMode>, Boolean)

在单个 EWS 调用中汇报多个项。 UpdateItems 不支持具有未保存附件的项目。

事件

OnResponseHeadersCaptured

ResponseHeadersCapturedHandler调用处理程序。 从 2013 Exchange Server 开始,该OnResponseHeadersCaptured事件适用于面向 Exchange Online 和 Exchange 版本的客户端。

(继承自 ExchangeServiceBase)
OnSerializeCustomSoapHeaders

表示调用的事件,使应用程序能够在发送到Microsoft Exchange Server的请求中发出自定义 SOAP 标头。

(继承自 ExchangeServiceBase)

适用于