SyncFolderItems 操作
SyncFolderItems 操作同步 Exchange 服务器和客户端之间的项。
注意
不支持对 Office 365 组邮箱或公用文件夹使用 SyncFolderItems 操作。
备注
SyncFolderItems 操作将返回最多 512 个更改。 必须执行后续 SyncFolderItems 请求才能获取其他更改。
SyncFolderItems 与 FindItem 操作类似,因为它无法返回 Body 或 Attachments 等属性。 如果 SyncFolderItems 操作未返回所需的属性,则可以使用 GetItem 操作 获取 SyncFolderItems 返回的每个项的特定属性集。
SyncFolderItems 请求示例
说明
以下 SyncFolderItems 请求示例演示如何同步文件夹中的项目。 此示例显示文件夹项的同步,该同步不是针对“已发送邮件”文件夹发生的第一次同步。 SyncState 元素不包含在首次尝试将客户端与 Exchange 服务器同步的请求中。 首次尝试同步文件夹层次结构中的项目将返回邮箱中的所有项目,不包括 在 Ignore 元素中标识的项目。 此 SyncFolderItems 请求将尝试同步自上次同步以来对文件夹项目所做的所有更改。 此请求将忽略尝试同步 Ignore 元素中标识的一个项。
代码
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<SyncFolderItems xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ItemShape>
<t:BaseShape>Default</t:BaseShape>
</ItemShape>
<SyncFolderId>
<t:DistinguishedFolderId Id="sentitems"/>
</SyncFolderId>
<SyncState>AEbJ94eMOAAA=</SyncState>
<Ignore>
<t:ItemId Id="AQApAHRAA==" ChangeKey="CQAAABY"/>
</Ignore>
<MaxChangesReturned>100</MaxChangesReturned>
</SyncFolderItems>
</soap:Body>
</soap:Envelope>
Comments
SyncState 元素 base64 编码的数据和 ItemId 元素 ID 属性已缩短,以保持可读性。
请求元素
请求中使用以下元素:
SyncFolderItems 响应成功
说明
以下示例显示了对 SyncFolderItems 请求的成功响应。 在此示例中,会议请求从“已发送邮件”文件夹中同步。
代码
<?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="628" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<SyncFolderItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:SyncFolderItemsResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:SyncState>H4sIAAAAA=</m:SyncState>
<m:IncludesLastItemInRange>true</m:IncludesLastItemInRange>
<m:Changes>
<t:Create>
<t:MeetingRequest>
<t:ItemId Id="AQApAHRwA==" ChangeKey="CwAAABYA" />
<t:Subject>Budget Q3</t:Subject>
<t:Sensitivity>Normal</t:Sensitivity>
<t:IsOutOfDate>false</t:IsOutOfDate>
<t:HasBeenProcessed>true</t:HasBeenProcessed>
<t:ResponseType>NoResponseReceived</t:ResponseType>
<t:IntendedFreeBusyStatus>Busy</t:IntendedFreeBusyStatus>
<t:Start>2006-08-02T17:30:00Z</t:Start>
<t:End>2006-08-02T19:30:00Z</t:End>
<t:Location>Conference Room 2</t:Location>
<t:Organizer>
<t:Mailbox>
<t:Name>Dan Park</t:Name>
<t:EmailAddress>dpark@example.com</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
</t:Mailbox>
</t:Organizer>
</t:MeetingRequest>
</t:Create>
</m:Changes>
</m:SyncFolderItemsResponseMessage>
</m:ResponseMessages>
</SyncFolderItemsResponse>
</soap:Body>
</soap:Envelope>
Comments
SyncState 元素 base64 编码的数据和 ItemId 元素 ID 属性已缩短,以保持可读性。
成功的响应元素
响应中使用以下元素:
SyncFolderItems 错误响应
说明
以下示例显示了对 SyncFolderItems 请求的错误响应。 此错误是由无效的 SyncState 引起的。
代码
<?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="628" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<SyncFolderItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:SyncFolderItemsResponseMessage ResponseClass="Error">
<m:MessageText>Synchronization state data is corrupt or otherwise invalid.</m:MessageText>
<m:ResponseCode>ErrorInvalidSyncStateData</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:SyncState />
<m:IncludesLastItemInRange>true</m:IncludesLastItemInRange>
</m:SyncFolderItemsResponseMessage>
</m:ResponseMessages>
</SyncFolderItemsResponse>
</soap:Body>
</soap:Envelope>
错误响应元素
错误响应中使用以下元素: