Синхронизация элементов SharePoint с помощью службы REST

Если вы хотите синхронизировать элементы между SharePoint и вашими надстройками или службами, вы можете использовать для этого ресурс GetListItemChangesSinceToken. GetListItemChangesSinceToken, являющийся частью службы SharePoint REST, соответствует вызову веб-службы Lists.GetListItemChangesSinceToken.

Выполните запрос POST, тело которого содержит объект Свойства объекта SP.ChangeLogItemQuery.

Запрос вернет XML-файл с набором строк ADO, которые соответствуют любым изменениям элементов списка, соответствующим указанному запросу. Дополнительные сведения об этих свойствах, в том числе структуры данных свойств, описание элементов 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 представления, которое необходимо использовать для атрибутов по умолчанию, представленных параметрами query, viewFields и rowLimit. Если этот аргумент не указан, используется представление по умолчанию.

Если же он указан, значение параметра query, viewFields или rowLimit переопределяет соответствующее значение в представлении.

Например, если в представлении, заданном с помощью параметра viewFields, установлено ограничение на количество строк 100, но параметр rowLimit содержит значение 1000, то в ответе будет 1000 строк.
Query Элемент Query, содержащий запрос, который определяет, какие записи возвращаются и в каком порядке.
QueryOptions Фрагмент XML следующей формы, содержащий отдельные узлы для различных свойств объекта SPQuery:
ChangeToken Строка, содержащая токен изменений для запроса.

Описание формата этой строки см. в статье Обзор журнала изменений. Если передается значение null, то возвращаются все элементы списка.
Contains Элемент Contains, который определяет настройки фильтрации для запроса.

См. также