Поделиться через


todoTask: delta

Пространство имен: microsoft.graph

Получите набор ресурсов todoTask , которые были добавлены, удалены или обновлены в указанном списке todoTaskList.

Вызов разностной функции для ресурсов todoTask в todoTaskList аналогичен запросу GET, за исключением того, что, применяя маркеры состояния в одном или нескольких из этих вызовов, можно запросить добавочные изменения в todoTask в этом todoTaskList. Это позволяет поддерживать и синхронизировать локальное хранилище ресурсов todoTask пользователя без необходимости каждый раз получать весь набор с сервера.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Tasks.ReadWrite Tasks.Read
Делегированные (личная учетная запись Майкрософт) Tasks.ReadWrite Tasks.Read
Приложение Tasks.ReadWrite.All Tasks.Read.All

HTTP-запрос

GET /me/todo/lists/{id}/tasks/delta
GET /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/delta

Параметры запроса

При отслеживании изменений в коллекции todoTask выполняется цикл из одного или нескольких вызовов разностных функций. Если вы используете параметры запроса, отличные от $deltatoken и $skiptoken, их необходимо указать в начальном запросе delta. Microsoft Graph автоматически кодирует указанные параметры в маркере, входящем в состав URL-адреса @odata.nextLink или @odata.deltaLink, включенного в отклик. Параметры запроса нужно указать только один раз в первом запросе. В последующих запросах просто скопируйте и примените @odata.nextLink URL-адрес или @odata.deltaLink из предыдущего ответа, так как этот URL-адрес уже содержит закодированные требуемые параметры.

Параметр запроса Тип Описание
$deltatoken string Маркер состояния, возвращенный в @odata.deltaLink URL-адресе предыдущего вызова функции delta для той же коллекции todoTask, что указывает на завершение этого цикла отслеживания изменений. Сохраните URL-адрес @odata.deltaLink с этим токеном и примените его в первом запросе следующего цикла отслеживания изменений для этой коллекции.
$skiptoken string Маркер состояния, возвращенный в @odata.nextLink URL-адресе предыдущего вызова функции delta, указывающий, что в той же коллекции todoTask необходимо отслеживать дальнейшие изменения.

Параметры запросов OData

  • Вы можете использовать параметр запроса $select так же, как в любом другом запросе GET, чтобы задать только те свойства, которые необходимы для эффективной работы. Свойство id возвращается всегда.
  • Разностные запросы поддерживают $select, $topи $expand для todoTask.
  • Имеется ограниченная поддержка параметров $filter и $orderby:
    • Для параметра $filter поддерживаются только выражения $filter=receivedDateTime+ge+{value} и $filter=receivedDateTime+gt+{value}.
    • Для параметра $orderby поддерживается только выражение $orderby=receivedDateTime+desc. Если выражение $orderby не указано, результаты будут возвращаться в непредсказуемом порядке.
  • Параметр $search не поддерживается.

Заголовки запросов

Имя Тип Описание
Authorization string Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type string application/json. Обязательный параметр.
Prefer string odata.maxpagesize={x}. Необязательный параметр.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK и объект коллекции todoTask в теле отклика.

Пример

Запрос

Чтобы отслеживать изменения в ресурсах todoTask в todoTaskList с момента последнего цикла отслеживания изменений, необходимо выполнить один или несколько вызовов разностной функции, чтобы получить набор добавочных изменений. В следующем примере показано, как начать следующий раунд отслеживания изменений, используя URL-адрес в @odata.deltaLink возвращенном из последнего вызова функции delta последнего раунда, который содержит deltaToken. Этот вызов разностной функции ограничивает максимальное число todoTask в тексте ответа до 2.

GET https://graph.microsoft.com/v1.0/me/todo/lists/gDbc8U7HGwADDZocJgAAAA==/tasks/delta?$deltatoken=w0vf2jHg2mBXU-I2AK0FSWl0dopNtG8u5YoM

Отклик

В случае успешного выполнения запроса отклик будет содержать маркер состояния — skipToken
(в заголовке ответа @odata.nextLink ) или deltaToken (в заголовке ответа @odata.deltaLink ). Соответственно, они указывают, следует ли продолжить цикл или вы завершили получение всех изменений для этого раунда.

Ниже показан отклик с маркером состояния skipToken в заголовке отклика @odata.nextLink.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
   "@odata.deltaLink":"https://graph.microsoft.com/v1.0/me/todo/lists/gDbc8U7HGwADDZocJgAAAA==/tasks/delta?$deltatoken=MoVMZ_DzHG4AhT3WE8VioVS1IXZJ-ArqK5fknOjnKFY",
   "value":[
      {
         "@odata.etag":"W/\"4rfRVIPi9EqXgDbc8U7HGwADLLQ9xQ==\"",
         "importance":"normal",
         "isReminderOn":false,
         "status":"notStarted",
         "title":"empty task3",
         "createdDateTime":"2020-08-12T04:54:29.1925206Z",
         "lastModifiedDateTime":"2020-08-12T04:54:29.4903939Z",
         "id":"AAMkADMwNTcyZjQzLTdkMGItNDdjMy04ZTYwLTJhYmUzNGI5ZDEwMwBGAAAAAAB5M0K0qlJySLOAgV22zPnuBwDit9FUg_L0SpeANtzxTscbAAMNmhwmAADit9FUg_L0SpeANtzxTscbAAMxlnrYAAA=",
         "body":{
            "content":"",
            "contentType":"text"
         }
      }
   ]
}