使用 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 确定要用于 查询、 viewFields 和 rowLimit 参数表示的默认视图属性的视图。 如果未提供此实参,则会假定默认视图。 如果已提供, 则 query、 viewFields 或 rowLimit 参数的值将替代视图中的等效设置。 例如,如果 viewFields 参数指定的视图的行限制为 100 行,但 rowLimit 参数的值为 1,000 行,响应中返回的是 1,000 行。 |
Query | Query 元素包含查询,可确定要返回哪些记录以及这些记录的顺序。 |
QueryOptions | 以下表单中的 XML 段落,其中包含 SPQuery 对象的各个属性的单独节点。 |
ChangeToken | 包含请求更改令牌的字符串。 有关此字符串所用格式的说明,请参阅更改日志概述。 如果传递的是 NULL 值,列表中的所有项都会返回。 |
Contains | Contains 元素定义了查询的自定义筛选。 |