SharePoint REST API - 同步SharePoint列表項

Justin-Liu發表於2017-09-29

部落格地址:http://blog.csdn.net/FoxDave

本篇只講REST服務中的GetListItemChangesSinceToken這個東西。何謂同步呢,你也可以理解為增量變化,即給定一個時間,我需要獲取從那個時間到現在所有發生變化的列表項。

使用GetListItemChangesSinceToken同步SharePoint列表項

如果你想要在SharePoint和你的Add-in或服務之間同步列表項,可以使用GetListItemChangesSinceToken來達到目的,它跟SharePoint Web服務請求中的List.GetListItemChangesSinceToken是對應的。

在POST請求的body中加入SP.ChangeLogItemQuery物件的屬性。該請求會返回ADO行集合的XML,包含了符合查詢條件的列表項的更改記錄。

示例請求如下:

請求的URL

POST http://server/site/_api/web/Lists/GetByTitle('Announcements')/GetListItemChangesSinceToken

請求的Body

{ 'd' : { 
  'query': { 
    '__metadata': { 'type': 'SP.ChangeLogItemQuery'}, 
    'ViewName': '', 
    'Query': '<Where>
      <Contains>
         <FieldRef Name="Title" />
         <Value Type='Text'>Te</Value>
      </Contains></Where>',
    '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物件屬性

PropertyDescription
ListNameA string that contains either the title or the GUID for the list. When querying the UserInfo table, the string contains UserInfo. Using the GUID results in better performance.
ViewNameA string that contains the GUID for the view, which determines the view to use for the default view attributes represented by the  queryviewFields, and  rowLimit parameters. If this argument is not supplied, the default view is assumed. If it is supplied, the value of the queryviewFields, or  rowLimit parameter overrides the equivalent setting within the view. For example, if the view specified by the viewFields parameter has a row limit of 100 rows but the rowLimit parameter contains a value of 1000, then 1,000 rows are returned in the response.
QueryQuery element containing the query that determines which records are returned and in what order.
QueryOptionsAn XML fragment in the following form that contains separate nodes for the various properties of the  SPQuery object.
ChangeTokenA string that contains the change token for the request. For a description of the format that is used in this string, see  Overview of the Change Log. If null is passed, all items in the list are returned.
ContainsContains element that defines custom filtering for the query.
本篇就介紹到這裡。

相關文章