Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Получение набора ресурсов календаря , добавленных, удаленных или обновленных в одном или нескольких календарях.
Как правило, синхронизация календарей в почтовом ящике в локальном хранилище влечет за собой цикл из нескольких разностных вызовов функций. Исходный вызов связан с полной синхронизацией, а каждый последующий вызов delta из того же цикла — с дополнительными изменениями (добавлениями, удалениями или обновлениями). Использование разностных данных позволяет постепенно поддерживать и синхронизировать локальное хранилище календарей в указанном почтовом ящике.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | Calendars.Read | Calendars.ReadBasic, Calendars.ReadWrite |
| Делегированные (личная учетная запись Майкрософт) | Calendars.Read | Calendars.ReadBasic, Calendars.ReadWrite |
| Для приложений | Calendars.Read | Calendars.ReadBasic, Calendars.ReadWrite |
HTTP-запрос
Чтобы начать отслеживание изменений, необходимо выполнить запрос, включающий функцию delta в ресурсе calendara.
- Чтобы получить добавочные изменения списка календарей в почтовом ящике пользователя, выполните следующие действия:
GET /me/calendars/delta
GET /users/{usersId}/calendars/delta
Параметры запроса
При отслеживании изменений в группах выполняется цикл из одного или нескольких вызовов разностных функций. Если вы используете параметры запроса, отличные от $deltatoken и $skiptoken, их необходимо указать в начальном запросе delta. Microsoft Graph автоматически кодирует указанные параметры в маркере, входящем в состав URL-адреса @odata.nextLink или @odata.deltaLink, включенного в отклик.
Параметры запроса нужно указать только один раз в первом запросе.
Копируйте и применяйте URL-адрес @odata.nextLink или @odata.deltaLink из предыдущего ответа в последующих запросах, так как в нем уже содержаться закодированные параметры.
| Параметр запроса | Тип | Описание |
|---|---|---|
| $deltatoken | string |
Маркер состояния, возвращаемый в @odata.deltaLink URL-адресе предыдущего вызова функции delta для того же списка календаря, указывающий на завершение этого раунда отслеживания изменений. Сохраните и примените весь @odata.deltaLink URL-адрес, включая этот маркер, в первом запросе следующего раунда отслеживания изменений для этого списка календаря. |
| $skiptoken | string |
Маркер состояния, возвращенный в @odata.nextLink URL-адресе предыдущего вызова разностной функции, указывающий, что в том же списке календаря необходимо отслеживать дальнейшие изменения. |
Параметры запросов OData
Этот метод поддерживает необязательные параметры запроса OData для настройки ответа.
- Вы можете использовать параметр запроса
$selectтак же, как в любом другом запросе GET, чтобы задать только те свойства, которые необходимы для эффективной работы. - Функция delta не поддерживает следующие параметры запроса:
$expand,$filter,$orderby$search, и$select.
Заголовки запросов
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
| Content-Type | string | application/json. Обязательный параметр. |
| Prefer | string | odata.maxpagesize={x}. Необязательный параметр. |
Текст запроса
Не указывайте текст запроса для этого метода.
Отклик
В случае успешного выполнения эта функция возвращает код отклика 200 OK и коллекцию календарей в тексте ответа.
Примеры
Запрос
Ниже показан пример запроса. Параметр отсутствует $select , поэтому набор свойств по умолчанию отслеживается и возвращается.
GET https://graph.microsoft.com/beta/me/calendars/delta
Отклик
Если запрос выполнен успешно, ответ включает маркер состояния, который представляет собой skipToken (в заголовке ответа @odata.nextLink ) или deltaToken (в заголовке ответа @odata.deltaLink ). Соответственно, они указывают, следует ли продолжить цикл или вы завершили получение всех изменений для этого раунда.
В приведенном ниже ответе отображается deltaToken в заголовке ответа @odata.deltaLink .
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(calendar)",
"value": [
{
"@odata.type": "#microsoft.graph.calendar",
"id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAUSwewAAAA==",
"name": "Calendar",
"color": "auto",
"hexColor": "",
"groupClassId": "0006f0b7-0000-0000-c000-000000000046",
"isDefaultCalendar": true,
"changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEO+6Q==",
"canShare": true,
"canViewPrivateItems": true,
"isShared": false,
"isSharedWithMe": false,
"canEdit": true,
"calendarGroupId": null,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": false,
"owner": {
"name": "Samantha Booth",
"address": "samanthab@contoso.com"
}
},
{
"@odata.type": "#microsoft.graph.calendar",
"id": "AQMkADRhZThkMDVjLTJmNDctNDUyZC05YjA2LTI2YzRmMTIxOWJhZQBGAAADVDIMnvGkNkGo5_ASLe7iUQcAvXegGcyc-0O1dA1ftrtB6QAAAgEGAAAAvXegGcyc-0O1dA1ftrtB6QAAAU4pOwAAAA==",
"name": "Birthdays",
"color": "auto",
"hexColor": "",
"groupClassId": "0006f0b7-0000-0000-c000-000000000046",
"isDefaultCalendar": false,
"changeKey": "vXegGcyc/0O1dA1ftrtB6QAAAEzvog==",
"canShare": false,
"canViewPrivateItems": true,
"isShared": false,
"isSharedWithMe": false,
"canEdit": false,
"calendarGroupId": null,
"allowedOnlineMeetingProviders": [],
"defaultOnlineMeetingProvider": "unknown",
"isTallyingResponses": false,
"isRemovable": true,
"owner": {
"name": "Samantha Booth",
"address": "samanthab@contoso.com"
}
}
],
"@odata.deltaLink": "https://graph.microsoft.com/beta/me/calendars/delta?$deltatoken=LztZwWjo5IivWBhyxw5rAIPrk_3pGHcZr4U33FHo0HpyBLqdo9QZIWfEL4AW1jMLBmo-o1ybmYCWlzQ5elO2bEDejh9Z8kYv_z4nhmHoC5Y.7Wdj3MWiils6M--JMM9dMyiLCh-1he4AZCqBu-8i42o"
}