mailboxItem: delta

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

Получение набора объектов mailboxItem , которые были добавлены, удалены или обновлены в указанной папке mailboxFolder.

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

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

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

Разрешения

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

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

HTTP-запрос

GET /admin/exchange/mailboxes/{mailboxId}/folders/{mailboxFolderId}/items/delta

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

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

Параметр Описание
$deltaToken Маркер состояния, возвращаемый в deltaLink URL-адресе предыдущего вызова разностной функции для той же коллекции элементов, что указывает на завершение этого раунда отслеживания изменений. Сохраните URL-адрес deltaLink с этим токеном и примените его в первом запросе следующего цикла отслеживания изменений для этой коллекции.
$skipToken Маркер состояния, возвращаемый в nextLink URL-адресе предыдущего вызова разностной функции, указывающий, что доступны дальнейшие изменения, которые можно отслеживать в той же коллекции элементов.

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

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

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

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации.
Prefer odata.maxpagesize={x}. Необязательный параметр. Управляет размером страницы.

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

В случае успеха эта функция возвращает код отклика 200 OK и коллекцию объектов mailboxItem в тексте ответа.

Примеры

Запрос

В следующем примере показано, как вызвать одну разностную функцию и ограничить максимальное количество элементов в тексте ответа двумя.

Чтобы отслеживать изменения в элементах папки, можно выполнить один или несколько вызовов разностной функции, чтобы получить набор добавочных изменений, прошедших с момента последнего разностного запроса.

Пример вызова разностного запроса см. в статье Получение добавочных изменений элементов в папке.

GET https://graph.microsoft.com/v1.0/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/folders/AAMkAGUwNjQ4ZyTAAA=/items/delta
Prefer: odata.maxpagesize=2

Отклик

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

В следующем примере показан заголовок ответа $skipToken@odata.nextLink .

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

HTTP/1.1 200 OK
Content-Type: application/json
Content-length: 337

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(mailboxItem)",
    "@odata.nextLink": "https://graph.microsoft.com/v1.0/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/folders/AAMkAGUwNjQ4ZyTAAA=/items/delta?$skiptoken={_skipToken_}",
    "value": [
        {
            "@odata.type": "#microsoft.graph.mailboxItem",
            "@odata.etag": "W/\"CQAAABYAAACQ2fKdhq8oSKEDSVrdi3lRAAFR+6ZT\"",
            "createdDateTime": "2021-10-19T06:30:30Z",
            "lastModifiedDateTime": "2021-10-19T07:17:06Z",
            "changeKey": "CQAAABYAAACQ2fKdhq8oSKEDSVrdi3lRAAFR+6ZT",
            "categories": [],
            "type": "IPM.Note",
            "size": 75329,
            "id": "AAMkAGUwNjQ4ZyTAACQ2fKdhq8oSKEDSVrdi3lRAAFSX03WAAA="
        }
    ]
}