FindItem 操作

查找有关 FindItem EWS 操作的信息。

FindItem 操作搜索位于用户邮箱中的项目。 此操作提供了许多方法来筛选和格式化搜索结果返回给调用方的方式。

使用 FindItem 操作

FindItem 操作请求提供了多种搜索邮箱和设置在响应中返回数据的格式的方法。 可以在 FindItem 请求中指定以下内容:

  • 搜索是浅表遍历还是软删除遍历。 需要指定此项。 请注意,软删除遍历与搜索限制相结合将导致零项返回,即使存在与搜索条件匹配的项目也是如此。

  • 项的响应形状。 这将标识响应中返回的属性。 需要指定此项。

  • 要从中执行搜索的文件夹。 需要指定此项。

  • 用于在页面中返回视图数据的分页机制和视图类型。 指定此项是可选的。

  • 用于对返回的项进行分组和排序的选项。 指定此项是可选的。

  • 搜索限制或高级查询语法 (AQS) 字符串,用于筛选返回的项。 有关使用 AQS 进行内容索引搜索的详细信息,请参阅 QueryString (String) 。 指定此项是可选的。

  • 响应中返回的项的排序顺序。 指定此项是可选的。

FindItem 操作仅返回任何可流属性的前 512 个字节。 对于 Unicode,它通过使用以 null 结尾的 Unicode 字符串返回前 255 个字符。 它不返回任何邮件正文格式或收件人列表。 FindItem 将返回收件人摘要。 可以使用 GetItem 操作 获取项的详细信息。

FindItem 仅返回 Name (EmailAddressType) 元素,并且不返回 Mailbox 元素中以下字段的 EmailAddress (NonEmptyStringType) 元素:

注意

FindItem 操作可以在 CalendarView 元素中返回结果。 CalendarView 元素返回单个日历项目和所有定期会议。 如果未使用 CalendarView 元素,则会返回单个日历项目和定期主日历项目。 如果未使用 CalendarView 元素,则必须从定期主控形状展开这些匹配项。

FindItem 操作可以使用下表中列出的 SOAP 标头。

表 1. FindItem 操作 SOAP 标头

Header 元素 说明
DateTimePrecision
DateTimePrecision
指定服务器响应中的数据/时间值的分辨率(以秒或毫秒为单位)。 这适用于请求。
模拟
ExchangeImpersonation
标识客户端应用程序正在模拟的用户。 这适用于请求。
MailboxCulture
MailboxCulture
标识用于访问邮箱的 RFC3066 区域性。 这适用于请求。
RequestVersion
RequestServerVersion
标识操作请求的架构版本。 这适用于请求。
ServerVersion
ServerVersionInfo
标识响应请求的服务器版本。 这适用于响应。
TimeZoneContext
TimeZoneContext
标识要用于服务器的所有响应的时区。 这适用于请求。

FindItem 操作请求示例

以下 FindItem 请求示例演示如何获取 BaseShape 元素的 IdOnly 枚举为在“已删除邮件”文件夹中找到的项目定义的项标识符。

<?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:Body>
    <FindItem xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
              Traversal="Shallow">
      <ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
      </ItemShape>
      <ParentFolderIds>
        <t:DistinguishedFolderId Id="deleteditems"/>
      </ParentFolderIds>
    </FindItem>
  </soap:Body>
</soap:Envelope>

请求中使用以下元素:

有关 FindItem 请求消息的更多选项,请浏览架构层次结构。 从 FindItem 元素开始。

成功执行 FindItem 操作响应

以下示例显示了对 FindItem 请求的成功响应。

Message 元素表示电子邮件以及 EWS 架构未强类型化的其他所有项。 IPM 等项。共享和 IPM。InfoPath 作为 Message 元素返回。 Exchange 不会在响应中返回基 Item 元素。

<?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="0" MajorBuildNumber="595" MinorBuildNumber="0" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <FindItemResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                      xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                      xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:FindItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:RootFolder TotalItemsInView="10" IncludesLastItemInRange="true">
            <t:Items>
              <t:Message>
                <t:ItemId Id="AS4AUn=" ChangeKey="fsVU4==" />
              </t:Message>
              <t:Message>
                <t:ItemId Id="AS4AUM=" ChangeKey="fsVUA==" />
              </t:Message>
            </t:Items>
          </m:RootFolder>
        </m:FindItemResponseMessage>
      </m:ResponseMessages>
    </FindItemResponse>
  </soap:Body>
</soap:Envelope>

响应中使用以下元素:

有关 FindItem 响应消息的更多选项,请浏览架构层次结构。 从 FindItemResponse 元素开始。

FindItem 操作错误响应

以下示例显示了 对 FindItem 请求的错误响应。

<?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="0" MajorBuildNumber="595" MinorBuildNumber="0" 
                         xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <FindItemResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                      xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
                      xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">
      <m:ResponseMessages>
        <m:FindItemResponseMessage ResponseClass="Error">
          <m:MessageText>Id is malformed.</m:MessageText>
          <m:ResponseCode>ErrorInvalidIdMalformed</m:ResponseCode>
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
        </m:FindItemResponseMessage>
      </m:ResponseMessages>
    </FindItemResponse>
  </soap:Body>
</soap:Envelope>

错误响应中使用以下元素:

有关 FindItem 错误响应消息的更多选项,请浏览架构层次结构。 从 FindItemResponse 元素开始。

版本差异

FindItem 操作用于搜索存档邮箱中的多个文件夹时,从主版本 15.0.898.11 开始到内部版本 15.898.11 的 Exchange 版本在 ResponseCode 元素中返回 ErrorInvalidOperation 值。

另请参阅