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"
         }
      }
   ]
}