使用 REST 服务同步 SharePoint 项

若要在 SharePoint 和加载项或服务之间同步项,可以使用 GetListItemChangesSinceToken 资源这样做。 GetListItemChangesSinceToken 属于 SharePoint REST 服务,对应于 Lists.GetListItemChangesSinceToken Web 服务调用。

执行 POST 请求,请求正文中包含 SP.ChangeLogItemQuery 对象属性对象。

请求返回 ADO 行集 XML,其中包括与指定查询匹配的任何列表项更改所对应的行。 若要详细了解这些属性(包括属性数据结构、CAML 元素说明和返回值),请参阅 Lists.GetListItemChangesSinceToken

示例

POST https://{site_url}/_api/web/Lists/GetByTitle('Announcements')/GetListItemChangesSinceToken`
Authorization: "Bearer " + accessToken
Content-Type: "application/json"
Content-Length: {length of request body as integer}

{
  "d" : {
  "query": {
    "__metadata": {
      "type": "SP.ChangeLogItemQuery"
    },
    "ViewName": "",
    "Query": "
      <Query>
        <Where>
          <Contains>
            <FieldRef Name='Title' />
            <Value Type='Text'>Te</Value>
          </Contains>
        </Where>'
      </Query>,
    "QueryOptions": "
      <QueryOptions>
        <IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>
        <DateInUtc>False</DateInUtc>
        <IncludePermissions>TRUE</IncludePermissions>
        <IncludeAttachmentUrls>FALSE</IncludeAttachmentUrls>
        <Folder>Shared Documents/Test1</Folder>
      </QueryOptions>',
    "ChangeToken":"1;3;eee4c6d5-f88a-42c4-8ce1-685122984870;634397182229400000;3710",
    "Contains": "
      <Contains>
        <FieldRef Name="Title"/>
        <Value Type="Text">Testing</Value>
      </Contains>"
    }
  }
}

SP.ChangeLogItemQuery 对象属性

属性 说明
ListName 一个不包括列表的标题,也不包含其 GUID 的字符串。 当查询 UserInfo 表时,该字符串包含 UserInfo。 使用 GUID 将产生更好的性能。
ViewName 一个字符串,其中包含视图的 GUID,该 GUID 确定要用于 查询viewFieldsrowLimit 参数表示的默认视图属性的视图。 如果未提供此实参,则会假定默认视图。

如果已提供, 则 queryviewFieldsrowLimit 参数的值将替代视图中的等效设置。

例如,如果 viewFields 参数指定的视图的行限制为 100 行,但 rowLimit 参数的值为 1,000 行,响应中返回的是 1,000 行。
Query Query 元素包含查询,可确定要返回哪些记录以及这些记录的顺序。
QueryOptions 以下表单中的 XML 段落,其中包含 SPQuery 对象的各个属性的单独节点。
ChangeToken 包含请求更改令牌的字符串。

有关此字符串所用格式的说明,请参阅更改日志概述。 如果传递的是 NULL 值,列表中的所有项都会返回。
Contains Contains 元素定义了查询的自定义筛选。

另请参阅