Ссылка на API REST календаря Outlook (бета-версия)
Область применения: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Примечание
В этой документации описывается предварительная версия API для конференц-залов, различных мест проведения событий, общего доступа к календарям, а также событий переадресации и отмены. Параметры предварительного просмотра могут быть изменены до завершения и могут нарушать код, который их использует. Поэтому в своем производственном коде вы должны использовать только производственную версию API. Если она доступна, предпочтительной версией в настоящее время является v2.0.
API календаря обеспечивает доступ к данным о событиях, календаре и группе календарей, защищенным с помощью Azure Active Directory в Office 365, а также к аналогичным данным в учетных записях Майкрософт, особенно в следующих доменах: Hotmail.com, Live.com, MSN.com, Outlook.com и Passport.com.
Примечание
- Исключением является API поиска времени для собрания, который применяется только к почтовым ящикам Office 365 (на Azure AD), а не к учетным записям Майкрософт.
- Для упрощения в остальной части этой статьи при упоминании «Outlook.com» также подразумеваются и эти домены учетной записи Майкрософт.
Не интересуетесь бета-версией API? В оглавлении слева перейдите к разделу Ссылка на API Office 365 и выберите нужную версию.
Все операции API календаря
Операции события
Событие представляет собой встречу или собрание в календаре пользователя. Событие может быть образцом серии (для повторяющихся событий), вхождением, единственным экземпляром или исключением.
- Получение событий
- Синхронизация событий
- Поиск времени встречи
- Получение конференц-залов (предварительная версия)
- Создание событий
- Обновление событий
- Ответ на события
- Переадресовать события (предварительная версия)
- Удаление событий
- Отмена событий (предварительная версия)
- Получение вложений
- Создание вложений
- Удаление вложений
- Получение напоминаний
- Функция повторного напоминания
- Отклонение напоминаний
Операции календаря
Календарь служит контейнером для событий. Пользователь может иметь несколько календарей. В Office 365 каждый календарь можно назначить для группы календарей.
Операции группы календарей
Группы календарей — это способ организации нескольких календарей. Пользователи могут добавлять несколько календарей в одну группу календарей в Outlook или Outlook Web App. Это облегчает пользователям быстрый просмотр всех календарей внутри группы.
Примечание
Outlook.com поддерживает только группу календарей по умолчанию, которая доступна по ../me/calendars
ссылке. Вы не можете удалить эту группу календарей или создать другую группу календарей.
- Получение групп календарей
- Создание групп календарей
- Обновление групп календарей
- Удаление групп календарей
См. также
Использование API REST календаря
Проверка подлинности
Как и для других API REST Outlook, для каждого запроса к API Outlook необходимо включать допустимый маркер доступа. Получение маркера доступа требует, чтобы вы зарегистрировались и идентифицировали свою программу и получили соответствующее разрешение.
Вы можете получить дополнительные сведения о некоторых оптимизированных параметрах регистрации и авторизации. Помните об этом, когда выполняете конкретные действия в API календаря.
Области для доступа к общим календарям
Календари Office 365 и Outlook.com поддерживают возможность общего доступа. Пользователь, создавший календарь, может совместно использовать его с другими пользователями. Для доступа к календарю, который совместно используется с этим пользователем, требуются следующие области:
- Доступ для чтения:
https://outlook.office.com/calendars.read.shared
- Доступ для чтения и записи:
https://outlook.office.com/calendars.readwrite.shared
Версия API
API REST календаря поддерживается во всех версиях API REST Outlook. Функциональность зависит от конкретной версии.
Целевой пользователь
Запросы API календаря всегда выполняются от имени текущего пользователя.
Дополнительные сведения, общие для всех подразделов API REST Outlook, см. в разделе Использование API REST Outlook.
Получение событий
Получение коллекции событий или события.
Текст события может быть представлен как в текстовом формате, так и в формате HTML.
Вы можете использовать заголовок Prefer: outlook.body-content-type
, чтобы указать требуемый формат, возвращаемый в свойстве Body в запросе GET:
- Укажите
Prefer: outlook.body-content-type="text"
, чтобы вернуть текст события в текстовом формате. - Укажите
Prefer: outlook.body-content-type="html"
или просто пропустите заголовок, чтобы вернуть текст события в формате HTML.
При указании любого заголовка ответ будет содержать соответствующий заголовок Preference-Applied
в качестве подтверждения:
- Для запросов в текстовом формате:
Preference-Applied: outlook.body-content-type="text"
- Для запросов в формате HTML:
Preference-Applied: outlook.body-content-type="html"
Все операции, которые получают события календаря, могут использовать заголовок HTTP Prefer: outlook.timezone, чтобы указать часовой пояс для времени начала и окончания в ответе. Например, следующий заголовок Prefer: outlook.timezone задает в ответе время начала и завершения согласно восточному стандартному времени.
Prefer: outlook.timezone="Eastern Standard Time"
Если не указать заголовок Prefer: outlook.timezone, время начала и завершения в ответе будет отображаться в формате UTC.
Узнать, какой именно часовой пояс использовался при создании события, позволят свойства OriginalStartTimeZone и OriginalEndTimeZone ресурса Event.
- Получение представления календаря
- Получение событий образца серии и одиночных событий
- Получение экземпляров события)
- Получение события
Получение представления календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получение вхождений, исключений и отдельных экземпляров событий в представлении календаря за определенный диапазон времени из основного календаря пользователя (../me/calendarview
) или из другого календаря.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий, указанных в отклике. |
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря, если выполняется получение представления календаря из определенного календаря. |
start_datetime | datetimeoffset | Дата и время начала события. |
end_datetime | datetimeoffset | Дата и время завершения события. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Для получения информации об именах поддерживаемых часовых поясов см. этот список. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения будет отображаться в формате UTC.
Примечание
По умолчанию каждое событие в ответе включает все его свойства. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Например, получите представление календаря для октября с отображением только свойства темы для каждого события. Если заголовок Prefer: outlook.timezone не включен в запрос, в качестве часового пояса будет выбран UTC.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject
Тип ответа
Расширенные события в рамках указанного диапазона времени.
Получение событий образца серии и одиночных событий
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получите набор событий образца серии и одиночных событий экземпляра из основного календаря пользователя (../me/events
) или из другого календаря. Для получения экземпляров расширенного события можно получить представление календаря или получить экземпляры события.
GET https://outlook.office.com/api/beta/me/events
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий, указанных в отклике. |
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря, если выполняется получение событий из определенного календаря. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Для получения информации об именах поддерживаемых часовых поясов см. этот список. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения будет отображаться в формате UTC.
Примечание
Каждое событие в ответе включает все его свойства. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. следующий пример. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
В следующем примере показано, как использовать $select
для указания возврата только свойств Тема, Организатор, Начало и Завершение каждого события в ответе. Полный список свойств, которые будут отображаться для события, если не используется $select
, см. в первом примере ответа в статье Получение события (REST).
Пример запроса
GET https://outlook.office.com/api/beta/me/events?$select=Subject,Organizer,Start,End,Location,Locations
Пример отклика
Код состояния: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End,Location,Locations)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNWAACYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNWAACYBXsvAAA=",
"Subject":"Plan summer company picnic",
"Start":{
"DateTime":"2017-06-09T18:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-06-09T19:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNPkvzAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAdE6yjA==\"",
"Id":"AAMkADNPkvzAAA=",
"Subject":"Customer visit",
"Start":{
"DateTime":"2017-04-20T21:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-04-20T23:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
}
]
}
Получение экземпляров события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Можно получить экземпляры (вхождения) события за указанный диапазон времени. Если событие относится к типу SeriesMaster, возвращаются вхождения и исключения события за указанный диапазон времени.
GET https://outlook.office.com/api/beta/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий в ответе. |
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
start_datetime | datetimeoffset | Дата и время UTC начала события. |
end_datetime | datetimeoffset | Дата и время UTC завершения события. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Для получения информации об именах поддерживаемых часовых поясов см. этот список. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения будет отображаться в формате UTC.
Тип ответа
Запрошенный набор событий.
Примечание
По умолчанию каждое событие в ответе включает все его свойства. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Например, получите экземпляры определенного события за октябрь, включите только свойства Тема, Начало и Завершение каждого экземпляра:
GET https://outlook.office.com/api/beta/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End
Получение события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получение события по идентификатору.
GET https://outlook.office.com/api/beta/me/events/{event_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий в ответе. |
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Поддерживаемые часовые пояса указаны в этом списке. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения возвращается в формате UTC.
Пример запроса
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=
Пример отклика
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
"Categories": [],
"CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
"LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
"Subject": "Weekly Meeting on Contoso Project",
"BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nSetting up some time to review the budget and planning on the Contoso Project\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Location": {
"DisplayName": "Alex's Office",
},
"Locations":[
{
"DisplayName": "Alex's Office",
}
]
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SeriesMaster",
"SeriesMasterId": null,
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
}
],
"Recurrence": {
"Pattern": {
"Type": "Weekly",
"Interval": 1,
"Month": 0,
"Index": "First",
"FirstDayOfWeek": "Sunday",
"DayOfMonth": 0,
"DaysOfWeek": [
"Monday"
]
},
"RecurrenceTimeZone": "Pacific Standard Time",
"Range": {
"Type": "NoEnd",
"StartDate": "2014-10-13",
"EndDate": "2014-11-13",
"NumberOfOccurrences": 0
}
},
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"OnlineMeetingUrl": null
}
Тип ответа
Запрошенное событие.
Примечание
По умолчанию ответ включает все свойства события. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
В следующем примере показано, как использовать $select
для указания возврата только свойств Тема, Организатор, Начало и Завершение события.
Пример запроса
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End
Пример отклика
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"Subject": "Weekly Meeting on Contoso Project",
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
}
}
Синхронизация событий
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Выполните синхронизацию и получите новые, обновленные или удаленные события за указанный диапазон времени из основного календаря пользователя (../me/calendarview
) или из другого календаря. Такой набор событий за диапазон времени также называется представлением календаря. Возвращенные события могут включать вхождения и исключения повторяющихся серий и одиночные экземпляры.
Для синхронизации представления календаря обычно требуется серия двух или нескольких запросов синхронизации, каждый из которых является вызовом GET. Для синхронизации представления календаря используйте метод GET, как при использовании получения представления календаря, однако необходимо включить определенные заголовки запроса, deltaToken или skipToken, где необходимо.
Заголовки запросов
Необходимо указать заголовок "Prefer: odata.track-changes" во всех запросах синхронизации за исключением тех, которые включают
skipToken
при возврате от предыдущего запроса синхронизации. Перед продолжением в первом ответе найдите заголовок Preference-Applied: odata.track-changes для подтверждения того, что ресурс поддерживает синхронизацию. (Для получения дополнительной информации оskipToken
см. данные примера второго ответа.)Можно указать заголовок "Prefer: odata.maxpagesize={x}" для указания максимального числа событий возврата запроса синхронизации.
Далее представлена типичная серия событий синхронизации в представлении календаря:
Выполните начальный запрос GET с обязательным заголовком Prefer: odata.track-changes. Начальный ответ на запрос синхронизации всегда возвращает deltaToken. (Второй и последующие запросы GET отличаются от первого запроса GET, так как включают deltaToken или skipToken, полученные в предыдущем ответе.)
Если первый ответ возвращает заголовок Preference-Applied: odata.track-changes, можно продолжить синхронизацию.
Выполните второй запрос GET. Укажите заголовок Prefer: odata.track-changes и deltaToken из первого запроса GET для определения, имеются ли дополнительные события. Второй запрос вернет дополнительные события, а также skipToken, если имеются дополнительные события, или deltaToken, если была выполнена синхронизация последнего события, в этом случае можно прекратить действия.
Продолжите синхронизацию, отправив вызов GET и указав skipToken от предыдущего вызова. Прекратите действия, когда получите окончательный ответ, содержащий заголовок @odata.deltaLink с deltaToken, что указывает на завершение синхронизации.
Проверьте синтаксис на наличие начального и последующих вызовов в ходе синхронизации.
Синхронизация в календаре по умолчанию
Первоначальный запрос:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Второй запрос или первый запрос последующей серии:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Третий или последующий запрос в той же серии:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Синхронизация в определенном календаре
Первоначальный запрос:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Второй запрос или первый запрос последующей серии:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Третий или последующий запрос в той же серии:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Параметры
Параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий в ответе. |
Параметры URL-адреса | ||
user_context | строка | Контекст пользователя. Можно использовать значение 'me' для указания контекста текущего пользователя. Можно также использовать формат users/{upn}, где upn представляет собой имя участника-пользователя, обычно это адрес электронной почты пользователя. |
calendar_id | строка | Идентификатор календаря, если выполняется получение представления календаря из определенного календаря. |
start_datetime | datetimeoffset | Дата и время начала события. |
end_datetime | datetimeoffset | Дата и время завершения события. |
delta_token | строка | Строка deltaToken была возвращена в качестве части значения для @odata.deltaLink в предыдущем ответе синхронизации. |
skip_token | строка | Строка skipToken была возвращена в качестве части значения для @odata.nextLink в предыдущем ответе синхронизации. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Поддерживаемые часовые пояса указаны в этом списке. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения возвращается в формате UTC.
Примечание
- При указании "Prefer: odata.track-changes" в первоначальном запросе, если ответ поддерживает синхронизацию, ответ будет иметь "Preference-applied: odata.track-changes" в заголовке.
- Если выполняется попытка синхронизации ресурса, который не поддерживается, или если это не первоначальный запрос синхронизации, в ответе не будет заголовка "Preference-applied".
- Для изменения интервала укажите другие параметры запроса startdatetime и enddatetime.
- Каждое событие в ответе включает все его свойства.
- Для повторяющейся серии ответ синхронизации включает все событие для повторяющихся событий образца и исключения.
- Экземпляры повторяющейся серии сокращены и содержат только свойства Начало и Завершение. Можно получить оставшуюся информацию события из повторяющегося события образца. Справочная информация приведена в статье Ресурс событий.
- Нельзя использовать
$filter
,$count
,$select
,$skip
,$top
, и$search
параметры запроса.
Тип ответа
Расширенные события и сокращенные события за указанный диапазон времени.
Пример
В следующем примере показаны первоначальный и второй запросы синхронизации для синхронизации календаря по умолчанию для пользователя. Каждый запрос позволяет одновременно вернуть только одно полное событие:
- Первоначальный ответ возвращает одно событие,
deltaLink
иdeltaToken
. - Второй запрос использует
deltatoken
. Второй ответ возвращает одно событие,nextLink
иskipToken
.
Для выполнения синхронизации используйте skipToken
от предыдущего запроса синхронизации, пока запрос синхронизации не вернет deltaLink
и deltaToken
, в этом случае синхронизация будет завершена. Сохраните deltaToken
для следующей синхронизации.
Для получения дополнительной информации см. Синхронизация событий в представлении календаря Outlook.
Пример исходного запроса
GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z HTTP/1.1
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
Prefer: outlook.timezone="Pacific Standard Time"
Пример данных первоначального ответа
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('asdas==')",
"@odata.etag": "W/\"L8Z+4Y4u7k+97uRKg==\"",
"Id": "AQMkANJAAAAA==",
"ChangeKey": "L8Z+AAAAARKg==",
"Categories": [
],
"DateTimeCreated": "2015-04-10T17:54:49.2725912Z",
"DateTimeLastModified": "2015-04-10T17:54:49.3038538Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-05T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-05T19:00:00",
"TimeZone": "Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E9888E07599CCFA23",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.deltaLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
}
Пример второго запроса
GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z&$deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
Prefer: outlook.timezone="Pacific Standard Time"
Пример данных второго ответа
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('AAMkAD0jAAA=')",
"@odata.etag": "W/\"P2fd7QAAAAAVFA==\"",
"Id": "AAMkADNkNmVlOTITVAAAAAA0jAAA=",
"ChangeKey": "P2fdmIU1QAAAAAVFA==",
"Categories": [
],
"DateTimeCreated": "2015-04-15T18:59:11.0226221Z",
"DateTimeLastModified": "2015-04-15T18:59:11.0694979Z",
"Subject": "1 hour",
"BodyPreview": "\u200b",
"Body": {
"ContentType": "HTML",
"Content": "<html><body>content</body></html>"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-16T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-16T19:00:00",
"TimeZone": Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E09BB89A316862",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.nextLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}
Поиск времени встречи
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Предложение времени проведения собрания с учетом доступности организатора и участников, а также ограничений по местоположению или времени, указанных в качестве параметров.
Данная операция применима только к почтовым ящикам Office 365 (в Azure AD) и не применима к учетным записям Microsoft.
POST https://outlook.office.com/api/{version}/me/findmeetingtimes
Далее указаны все поддерживаемые параметры. В зависимости от сценария укажите необходимые параметры в тексте запроса действия FindMeetingTimes.
Параметр | Тип | Описание | Обязательный? |
---|---|---|---|
Attendees | Набор (AttendeeBase) | Участники или ресурсы для собрания. Если указан пустой набор, действие FindMeetingTimes ищет интервалы свободного времени только для организатора. | Необязательный |
IsOrganizerOptional | Edm.Boolean | Укажите true , если организатор необязательно должен присутствовать на собрании. Значение по умолчанию: false . |
Необязательный |
LocationConstraint | LocationConstraint | Требования организатора к месту проведения собрания (например, требуется ли предложение или собрание может пройти только в определенных местах). | Необязательный |
MaxCandidates | Edm.Int32 | Максимальное число предложений по собранию в ответе. | Необязательный |
MeetingDuration | Edm.Duration | Продолжительность собрания в формате ISO 8601, например PT1H обозначает 1 час. Если продолжительность собрания не указана, FindMeetingTimes использует значение по умолчанию, которое составляет 30 минут. |
Необязательный |
MinimumAttendeePercentage | Edm.Double | Минимальная достоверность, необходимая, чтобы вернуть период времени в ответе. Это процентное значение от 0 до 100. | Необязательный |
ReturnSuggestionReasons | Edm.Boolean | Укажите true для возврата причины каждого предложения в свойстве SuggestionReason. Значением по умолчанию является false , при этом свойство не возвращается. |
Необязательный |
TimeConstraint | TimeConstraint | Ограничения по времени для собрания, к которым могут относиться характер собрания (ActivityDomain) и возможное время проведения собрания (TimeSlots). Если параметр ActivityDomain не задан, метод FindMeetingTimes считает, что для этого параметра установлено значение Work . |
Необязательный |
FindMeetingTimes проверяет сведения о доступности в основных календарях организатора и участников. В зависимости от указанных параметров действие предложит оптимальное время встречи. В следующей таблице описаны ограничения, которые можно указать в параметре TimeConstraint.
Значение ActivityDomain в TimeConstraint | Предложения по времени проведения собраний |
---|---|
Work | Предложения ограничиваются рамками рабочего времени пользователя, которое определяется настройками его календаря. Пользователь или администратор также могут изменять рабочее время. По умолчанию рабочим считается время с 8:00 до 17:00 (в часовом поясе, установленном для почтового ящика пользователя) с понедельника по пятницу. Это значение является значением по умолчанию, если не задан параметр ActivityDomain. |
Персональные | Предложения возможны в рабочее время пользователя, а также в субботу и воскресенье. По умолчанию задано время с 8:00 до 17:00 (в часовом поясе, установленном для почтового ящика пользователя) с понедельника по воскресенье. |
Unrestricted | Предложения могут относиться к любому времени в любой день недели. |
Неизвестно | Не рекомендуется использовать это значение, так как в будущем его поддержка будет прекращена. В настоящее время значение равносильно значению Work. Измените существующий код, используя соответствующие значения Work, Personal или Unrestricted. |
Тип ответа
Объект MeetingTimeSuggestionsResult включает набор предложений, каждый тип MeetingTimeSuggestion и свойство EmptySuggestionsReason.
Каждое предложение определяется как объект MeetingTimeSuggestion, где средняя вероятность присутствия участников составляет 50 % или определенное процентное значение, указанное в параметре MinimumAttendeePercentage.
По умолчанию каждое предлагаемое время проведения собрания указывается в формате UTC. Примените заголовок запроса Prefer: outlook.timezone
для возврата предложений времени собрания в другом часовом поясе, например:
Prefer: outlook.timezone="Pacific Standard Time"
Если FindMeetingTimes не может вернуть любые предложения собрания, в ответе будет указана причина в свойстве EmptySuggestionsReason. На основе этого значения можно скорректировать параметры и снова вызвать FindMeetingTimes.
Примечание
В настоящий момент FindMeetingTimes предполагает, что любой объект Attendee, являющийся пользователем (а не ресурсом), представляет собой обязательного участника. Укажите Required
для пользователя и Resource
для ресурса в соответствующем свойстве Type в составе параметра набора Attendees.
Во всех следующих примерах выполняется вызов FindMeetingTimes с различиями по доступности участников, ограничениям по местоположению или времени:
- Поиск времени и местоположения для встречи с участниками
- Поиск времени для встречи в известном месте и получение причины для каждого предложения
- Поиск времени для встречи, когда участники недоступны
- Поиск времени для встречи, когда доступны не все участники
- Поиск интервалов свободного времени для пользователя, который вошел в систему
Поиск времени и места для встречи с определенными участниками
Поиск времени и мест для встречи с указанием следующих параметров в тексте запроса:
- Attendees
- TimeConstraint
- MeetingDuration
Пример запроса
Следующий пример содержит предложение времени и места встречи с учетом доступности организатора и участника в рабочее время в указанном диапазоне, а также необходимую продолжительность.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Tokyo conference room",
"LocationType": "Default"
}
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Paris conference room",
"LocationType": "Default"
}
]
}
],
"EmptySuggestionsReason": ""
}
Поиск времени для встречи в известном месте и получение причины для каждого предложения
Поиск времени для встречи в заранее установленном месте, а также запрос причины для каждого предложения с указанием следующих параметров в тексте запроса:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
При установке параметра ReturnSuggestionReasons для каждого предложения отображается объяснение в свойстве SuggestionReason, если метод FindMeetingTimes возвращает какие-либо предложения.
Пример запроса
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H",
"ReturnSuggestionReasons": "true"
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
}
],
"EmptySuggestionsReason": ""
}
Поиск времени для встречи, когда участники недоступны
Поиск времени для встречи в заранее установленном месте с указанием следующих параметров в тексте запроса:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
В этом примере в соответствии с указанными параметрами и доступностью участника метод FindMeetingTimes не может вернуть какие-либо предложения, вместо этого выполняется возврат причины AttendeesUnavailable
в свойстве EmptySuggestionsReason.
См. прочие возможные причины невозможности возврата каких-либо предложений по собранию.
Пример запроса
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T7:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T14:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H"
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
],
"EmptySuggestionsReason": "AttendeesUnavailable"
}
Поиск времени для встречи, когда доступны не все участники
Поиск времени для встречи в заранее установленном месте с указанием следующих параметров в тексте запроса:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
- MinimumAttendeePercentage
В этом примере доступен только участник из 2. Каждое предложение по собранию, которое возвращает метод FindMeetingTimes, включает:
- Доступность каждого участника.
- Вычисленная достоверность собрания, которая представляет собой среднее процентное значение вероятности посещения участником собрания. Это значение должно соответствовать 60 %, как указано в MinimumAttendeePercentage.
- SuggestionHint, так как установлен параметр ReturnSuggestionReasons.
Для получения дополнительной информации о достоверности собрания перейдите по ссылке.
Пример запроса
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
{
"Type": "Optional",
"EmailAddress": {
"Name": "Dana",
"Address": "danas@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T09:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H",
"ReturnSuggestionReasons": "true",
"MinimumAttendeePercentage": "60"
}
Пример отклика
Код состояния: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions":[
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T10:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":100.0,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
},
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":74.5,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Unknown"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
}
],
"EmptySuggestionsReason":""
}
Поиск интервалов свободного времени для пользователя, который вошел в систему
Поиск интервалов свободного времени в основном календаре пользователя, который вошел в систему, в любой день недели в пределах диапазона дат с указанием следующих параметров в тексте запроса:
- TimeConstraint
- MeetingDuration
Пример запроса
В данном примере выполняется поиск 1-часовых интервалов свободного времени, как указано с помощью параметра MeetingDuration, в основном календаре пользователя, который вошел в систему, в любой день недели в пределах диапазона дат, как указано параметром TimeConstraint.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [],
"TimeConstraint": {
"ActivityDomain":"Unrestricted",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T06:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T23:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T06:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T07:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-21T09:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-21T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-22T19:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T20:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
}
],
"EmptySuggestionsReason": ""
}
Получение конференц-залов (предварительная версия)
В Outlook арендатор может организовать конференц-залы в списки помещений. Каждый конференц-зал и список помещений представлен экземпляром EmailAddress.
- Получение списков помещений (предварительная версия)
- Получение помещения (предварительная версия)
Получение списков помещений (предварительная версия)
Минимальная требуемая область
Одно из следующих:
- User.Read.All
- User.ReadBasic.All_
Получение списков помещений, определенных для арендатора.
GET https://outlook.office.com/api/beta/me/findroomlists
Тип ответа
Набор экземпляров EmailAddress. Если для арендатора не определены какие-либо списки, возвращается пустой массив.
Пример запроса
GET https://outlook.office.com/api/beta/me/findroomlists
Пример отклика
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Building 1 Rooms",
"Address":"Building1Rooms@contoso.onmicrosoft.com"
},
{
"Name":"Building 2 Rooms",
"Address":"Building2Rooms@contoso.onmicrosoft.com"
}
]
}
Получение помещений (предварительная версия)
Минимальная требуемая область
Одно из следующих:
- User.Read.All
- User.ReadBasic.All
Можно получить все конференц-залы, определенные для арендатора пользователя, или конференц-залы в определенном списке помещений.
Примечание
Эти операции возвращают до 100 первых помещений арендатора.
Получение всех помещений арендатора пользователя:
GET https://outlook.office.com/api/beta/me/findrooms
Получение помещений в указанном списке помещений:
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='{room_list}')
Необязательный параметр | Тип | Описание |
---|---|---|
Параметр функции | ||
room_list | строка | SMTP-адрес, связанный со списком помещений. Каждый список помещений представлен экземпляром EmailAddress, включающим SMTP-адрес. |
Тип ответа
Набор экземпляров EmailAddress.
Пример запроса
В следующем примере выполняется получение помещений, определенных для арендатора пользователя, который вошел в систему.
GET https://outlook.office.com/api/beta/me/findrooms
Пример отклика
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Adams",
"Address":"Adams@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Crystal",
"Address":"Crystal@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Stevens",
"Address":"Stevens@contoso.onmicrosoft.com"
},
{
"Name":"SurfaceHub",
"Address":"SurfaceHub@contoso.onmicrosoft.com"
}
]
}
Пример запроса
В следующем примере выполняется получение помещений в указанном списке помещений, идентифицированных по адресу электронной почты Building2Rooms@contoso.onmicrosoft.com.
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='Building2Rooms@contoso.onmicrosoft.com')
Пример отклика
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
}
]
}
Создание событий
Создание события календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Создайте событие в основном календаре пользователя или в определенном календаре путем размещения в конечной точке календаря events
. При создании события сервер отправляет приглашения всем участникам.
POST https://outlook.office.com/api/beta/me/events
POST https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря. |
Пример запроса
В следующем примере создается событие для участия организатора и участников из 3 разных мест.
POST https://outlook.office.com/api/beta/me/events
Content-Type: application/json
{
"Subject": "Plan summer company picnic",
"Body": {
"ContentType": "HTML",
"Content": "Let's kick-start this event planning!"
},
"Start": {
"DateTime": "2017-06-09T11:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2017-06-09T12:00:00",
"TimeZone": "Pacific Standard Time"
},
"Attendees": [
{
"EmailAddress": {
"Address": "AdeleV@contoso.onmicrosoft.com",
"Name": "Adele Vance"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "AlexW@contoso.onmicrosoft.com",
"Name": "Alex Wilber"
},
"Type": "Required"
}
],
"Location": {
"DisplayName": "Conf Room 3; Fourth Coffee; Home Office",
"LocationType": "Default"
},
"Locations": [
{
"DisplayName": "Conf Room 3",
},
{
"DisplayName": "Fourth Coffee",
"Address": {
"Street": "4567 Main St",
"City": "Redmond",
"State": "WA",
"CountryOrRegion": "US",
"PostalCode": "32008"
},
"Coordinates": {
"Latitude": 47.672,
"Longitude": -102.103
},
"LocationType": "LocalBusiness"
},
{
"DisplayName": "Home Office",
}
]
}
Пример отклика
Код состояния: 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNCYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNCYBXsvAAA=",
"CreatedDateTime":"2017-06-06T19:59:23.003773-07:00",
"LastModifiedDateTime":"2017-06-06T19:59:24.8432785-07:00",
"ChangeKey":"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==",
"Categories":[
],
"OriginalStartTimeZone":"Pacific Standard Time",
"OriginalEndTimeZone":"Pacific Standard Time",
"iCalUId":"040000008200E00074C5B7101A82E008000000000FD9CB103ADFD20100000000000000001000000026DB266A0E3C4A4FB15DC14FFFB1469D",
"ReminderMinutesBeforeStart":15,
"IsReminderOn":true,
"HasAttachments":false,
"Subject":"Plan summer company picnic",
"BodyPreview":"Let's kick-start this event planning!",
"Importance":"Normal",
"Sensitivity":"Normal",
"IsAllDay":false,
"IsCancelled":false,
"IsOrganizer":true,
"ResponseRequested":true,
"SeriesMasterId":null,
"ShowAs":"Busy",
"Type":"SingleInstance",
"WebLink":"https://outlook.office365.com/owa/?itemid=AAMkADNCYBXsvAAA%3D&exvsurl=1&path=/calendar/item",
"OnlineMeetingUrl":null,
"ResponseStatus":{
"Response":"Organizer",
"Time":"0001-01-01T00:00:00Z"
},
"Body":{
"ContentType":"HTML",
"Content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
},
"Start":{
"DateTime":"2017-06-09T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2017-06-09T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Recurrence":null,
"Attendees":[
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Adele Vance",
"Address":"AdeleV@contoso.onmicrosoft.com"
}
},
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Alex Wilber",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
],
"Organizer":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"OnlineMeeting":null
}
Тип ответа
Новое событие.
По умолчанию ответ включает все свойства нового события. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается.
Следующий пример включает только свойства Start и End нового события в ответе.
POST https://outlook.office.com/api/beta/me/events?$Select=Start,End
Обновление событий
Обновление события календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Измените событие. Будут изменены только указанные свойства. Если пользователь является организатором, всем участникам сервером будут отправлены обновления собрания.
PATCH https://outlook.office.com/api/beta/me/events/{event_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Укажите любые записываемые свойства события в тексте запроса.
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE1MFKPQWAAA=?$select=Location
Пример запроса
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json
{
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
}
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
"Id": "AAMkAGE0M4v1OAAA=",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
"Categories": [],
"CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
"LastModifiedDateTime": "2014-01-22T21:14:17.4886416Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
},
"Locations":[
{
"DisplayName":"Conference Rome",
"LocationType":"ConferenceRoom"
}
],
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "alexd"
}
},
"OnlineMeetingUrl": null
}
Тип ответа
Обновленное событие. Если пользователь является организатором, всем участникам сервером будут отправлены обновления собрания.
По умолчанию ответ включает все свойства обновленного события. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается.
Ответ на события
Принятие события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Принятие указанного события.
POST https://outlook.office.com/api/beta/me/events/{event_id}/accept
Параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. Обязательный. |
Параметры тела | ||
Comment | строка | Текст, включенный в ответ. Необязательный. |
SendResponse | boolean (логический) | true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение false . Необязательный. Значение по умолчанию: true . |
Пример запроса
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept
Content-Type: application/json
{
"Comment": "Great idea!",
"SendResponse": "true"
}
Ответ
Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.
Предварительное принятие события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Предварительное принятие указанного события.
POST https://outlook.office.com/api/beta/me/events/{event_id}/tentativelyaccept
Параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. Обязательный. |
Параметры тела | ||
Comment | строка | Текст, включенный в ответ. Необязательный. |
SendResponse | boolean (логический) | true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение false . Необязательный. Значение по умолчанию: true . |
Пример запроса
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept
Content-Type: application/json
{
"Comment": "I'll confirm later!",
"SendResponse": "true"
}
Ответ
Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.
Отклонение события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Отклонение приглашения на указанное событие.
POST https://outlook.office.com/api/beta/me/events/{event_id}/decline
Параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. Обязательный. |
Параметры тела | ||
Comment | строка | Текст, включенный в ответ. Необязательный. |
SendResponse | boolean (логический) | true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение false . Необязательный. Значение по умолчанию: true . |
Пример запроса
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline
Content-Type: application/json
{
"Comment": "Sorry, maybe next time!",
"SendResponse": "true"
}
Ответ
Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.
Перенаправление событий (предварительная версия)
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Это действие позволяет организатору или участнику события собрания перенаправить запрос собрания новому получателю.
Если событие собрания перенаправляется из почтового ящика Office 365 другому получателю, организатору отправляется уведомление о перенаправлении, а получатель добавляется в список организатора события собрания. Функция перенаправления из учетной записи Outlook.com недоступна.
POST https://outlook.office.com/api/beta/me/events('{event_id}')/forward
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Параметры тела | ||
Comment | строка | Добавляемый комментарий. Может быть пустой строкой. |
ToRecipients | Набор (Recipient) | Список получателей, которым перенаправляется событие. |
Пример запроса
POST https://outlook.office.com/api/beta/me/events('AQMkADJmMTU4AAAA=')/forward
Content-Type: application/json
{
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
],
"Comment": "Dana, hope you can make this meeting."
}
Пример отклика
Status code: 202 Accepted
Удаление событий
Удаление события календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Переместите событие в папку "Удаленные" пользователя, который вошел в систему. Если событие является собранием, а пользователь, который вошел в систему, является организатором, все участники получат сообщение об отмене от сервера.
Это действие отличается от функции Отменить в том, что функция Удалить доступна для организатора и участников собрания. Если пользователь, который вошел в систему, является организатором собрания, он может просто отменить собрание без отправки сообщения об отмене участникам.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Пример запроса
DELETE https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Пример отклика
Status code: 204
Отмена событий (предварительная версия)
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Это действие позволяет организатору собрания отправлять сообщение об отмене и отменять событие.
Действие перемещает событие в папку "Удаленные". Организатор может также отменить вхождение повторяющегося собрания, указав идентификатор события вхождения. При вызове этого действия участником отобразится следующее сообщение об ошибке (HTTP 400 — ошибочный запрос):
"Запрос не может быть выполнен. Отмену собрания может выполнить организатор."
Это действие отличается от функции Удалитьв том, что функция Отменить доступна только для организатора, позволяя отправлять участникам настраиваемое сообщение об отмене.
POST https://outlook.office.com/api/beta/me/events/{event_id}/Cancel
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Параметры тела | ||
Comment | строка | Комментарий об отмене, который отправляется всем участникам. |
Пример запроса
POST https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=/Cancel
Content-Type: application/json
{
"Comment": "Cancelling this meeting as there is a time conflict for most folks."
}
Пример отклика
Status code: 202
Получение вложений
Можно получить коллекцию вложений или получить вложение.
Получение набора вложений
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получите вложения из определенного события.
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Тип ответа
Набор вложений с типом FileAttachment, ItemAttachment или ReferenceAttachment.
Пример запроса
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2NGTG9yAAA=/attachments
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDfpNJs...AAF4pAAAAAA=="
}
]
}
Получение вложения
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получите вложение из определенного события.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
attachment_id | строка | Идентификатор вложения. |
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Тип ответа
Запрошенное вложение файла, вложение элемента или вложение ссылки.
Пример запроса
В следующем примере выполняется получение вложения файла определенного события.
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQD...AAF4pAAAAAA=="
}
Пример запроса (вложение ссылки)
В следующем примере выполняется получение вложения ссылки на событие.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments('AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=')
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
Пример запроса ($расширение вложений)
В следующем примере выполняется получение и расширение 2 вложений ссылок, встроенных в свойства события.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
"@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
"id": "AAMkAGE1Mbs88AADggYEcAAA=",
"createdDateTime": "2016-03-22T22:19:58.1359352Z",
"lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
"changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
"categories": [
],
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": true,
"subject": "Plan Easter egg hunt!",
"body": {
"contentType": "html",
"content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
},
"bodyPreview": "Let's get organized for this weekend's gathering.",
"importance": "normal",
"sensitivity": "normal",
"start": {
"dateTime": "2016-03-26T17:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2016-03-26T18:00:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"address": {
"type": "unknown"
},
"coordinates": {
}
},
"locations": [
],
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"recurrence": null,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"attendees": [
{
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required",
"emailAddress": {
"name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "Dana Swope",
"address": "danas@contoso.onmicrosoft.com"
}
},
"webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"onlineMeetingUrl": null,
"attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
"attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
"lastModifiedDateTime": "2016-03-22T22:39:09Z",
"name": "Koala picture",
"contentType": null,
"size": 382,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
]
}
Пример запроса ($расширение вложенных элементов)
В следующем примере выполняется получение вложенного элемента.
GET https://outlook-sdf.office.com/api/beta/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Пример отклика
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
Создание вложений
Можно создать вложение файла или создать вложение элемента для события.
Создание вложения файла
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Добавьте вложение файла в событие.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Параметры тела | ||
@odata.type | строка | #Microsoft.OutlookServices.FileAttachment |
Имя | строка | Имя вложения. |
ContentBytes | двоичный | Файл для вложения. |
Тип ответа
Новое вложение файла.
Создание вложения элемента
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Добавьте вложение элемента в событие.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
Параметры тела | ||
@odata.type | строка | #Microsoft.OutlookServices.ItemAttachment |
Имя | строка | Имя вложения. |
Элемент | Объект Сообщение, Событие или Контакт. | Элемент для вложения. |
Тип ответа
Новое вложение элемента.
Создание вложения ссылки
Минимальная требуемая область
https://outlook.office.com/calendars.readwrite
Добавьте вложение ссылки в событие.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | Строка | Идентификатор события. |
Параметры тела | ||
@odata.type | Строка | #Microsoft.OutlookServices.ReferenceAttachment |
Имя | Строка | Отображаемое имя вложения. Обязательный. |
SourceUrl | Строка | URL для получения содержимого вложения. Если это URL-адрес на папку, то для надлежащего отображения папки в Outlook или Outlook в Интернете установите для параметра IsFolder значение true. Обязательный. |
Укажите параметры Name и SourceUrl и любые записываемые свойства вложения ссылки в тексте запроса.
Тип ответа
Пример запроса
В следующем примере выполняется добавление вложения ссылки в существующее событие. Вложение представляет собой ссылку на файл в OneDrive для бизнеса.
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Пример отклика
Код состояния: 201 Создано
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"LastModifiedDateTime": "2016-03-22T22:27:20Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
Удаление вложений
Удаление вложения события
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Удалите указанное вложение события. Вложением может быть вложение файла, вложение элемента или вложение ссылки.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
event_id | строка | Идентификатор события. |
attachment_id | строка | Идентификатор вложения. |
Пример запроса
DELETE https:/outlook.office.com/api/beta/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=
Пример отклика
Status code: 204
Получение напоминаний
Получите список напоминаний событий между двумя датами и временем из календаря.
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
GET https://outlook.office.com/api/beta/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Prefer: | outlook.timezone | Часовой пояс по умолчанию для событий в ответе. |
Параметры URL-адреса | ||
StartDateTime | строка | Дата и время начала для отображаемых напоминаний. |
EndDateTime | строка | Дата и время завершения для отображаемых напоминаний. |
Используйте заголовок Prefer: outlook.timezone для указания часового пояса, который будет использоваться для времени начала и завершения события в ответе. Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с указанным часовым поясом.
Для получения информации об именах поддерживаемых часовых поясов см. этот список. Если заголовок Prefer: outlook.timezone не указан, будет установлен часовой пояс UTC.
Функция повторного напоминания
Используйте функцию повторного напоминания, чтобы отложить напоминание до более позднего времени.
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/Events('{id}')/SnoozeReminder
Необходимые параметры | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
id | строка | Идентификатор события. |
Параметры тела | ||
NewReminderTime | DateTimeTimeZone | Новые дата и время для активации напоминания. |
Отклонение напоминаний
Отклонение активированного напоминания.
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/Events({id})/DismissReminder
Необходимые параметры | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
id | строка | Идентификатор события. |
Получение календарей
Можно получить набор календарей или календарь.
Получить набор календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получить все календари пользователя (calendars
) или получить календари из определенной группы календарей.
GET https://outlook.office.com/api/beta/me/calendars
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calender_group_id | строка | Идентификатор группы календарей. |
Пример запроса
GET https://outlook.office.com/api/beta/me/calendars
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"IsDefaultCalendar": true,
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
]
}
Получить календарь
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получите календарь по идентификатору. Можно получить основной календарь пользователя с помощью конечной точки ../me/calendar
.
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря. |
Пример запроса
GET https://outlook.office.com/api/beta/me/calendars/AAMkAGI2TGuLAAA=
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"IsDefaultCalendar": true,
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Тип ответа
Запрошенный календарь.
Создание календарей
Создание календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Создайте календарь в группе календарей по умолчанию с помощью ярлыка ../me/calendars
или в определенной группе календарей путем размещения в конечной точке группы calendars
.
POST https://outlook.office.com/api/beta/me/calendars
POST https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calender_group_id | строка | Идентификатор группы календарей, если выполняется получение календарей из определенной группы. |
Параметры тела | ||
Имя | строка | Имя нового календаря. |
Пример запроса
POST https://outlook.office.com/api/beta/me/calendars
Content-Type: application/json
{
"Name": "Volunteer"
}
Пример отклика
Код состояния: 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Volunteer",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Тип ответа
Новый календарь.
Обновление календарей
Обновление календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Измените записываемые свойства календаря.
PATCH https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря. |
Пример запроса
PATCH https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json
{
"Name": "Social events"
}
Пример отклика
Код состояния: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Social events",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Тип ответа
Обновленный календарь.
Удаление календарей
Удаление календаря
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
DELETE https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_id | строка | Идентификатор календаря. |
Пример запроса
DELETE https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Пример отклика
Status code: 204
Получение групп календарей
Можно получить набор группы календарей или получить группу календарей.
Примечание
Outlook.com поддерживает только группу календарей по умолчанию, которая доступна по ../me/calendars
ссылке.
Получение набора группы календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получение групп календарей в почтовом ящике.
GET https://outlook.office.com/api/beta/me/calendargroups
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Пример запроса
GET https://outlook.office.com/api/beta/me/calendargroups
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
"Id": "AAMkAGI2TGuMAAA=",
"Name": "Other Calendars",
"ClassId": "0006f0b8-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
}
]
}
Тип ответа
Запрошенный набор группы календарей.
Получение группы календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Получите группу календарей по идентификатору.
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_group_id | строка | Идентификатор группы календарей. |
Пример запроса
GET https://outlook.office.com/api/beta/me/calendargroups/AAMkAGI2TGuKAAA=
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}
Тип ответа
Запрошенная группа календарей.
Создание групп календарей
Создание группы календарей. Имя является единственным записываемым свойством группы календарей.
Примечание
Outlook.com поддерживает только группу календарей по умолчанию, которая доступна по ../me/calendars
ссылке. Не удастся создать другую группу календарей в Outlook.com.
Создание группы календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/calendargroups
Обязательный параметр | Тип | Описание |
---|---|---|
Параметр URL-адреса | ||
Параметры тела | ||
Имя | строка | Имя группы календарей. |
Пример запроса
POST https://outlook.office.com/api/beta/me/calendargroups
Content-Type: application/json
{
"Name": "Birthdays"
}
Пример отклика
Код состояния: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
"Id": "AAMkAGE0M4xLGAAA=",
"Name": "Birthdays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Тип ответа
Новая группа календарей.
Обновление групп календарей
Обновление группы календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Измените имя группы календарей. Имя является единственным записываемым свойством группы календарей.
PATCH https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_group_id | строка | Идентификатор группы календарей. |
Параметры тела | ||
Имя | строка | Имя обновленной группы календарей. |
Пример запроса
PATCH https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json
{
"Name": "Holidays"
}
Пример отклика
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
"Id": "AAMkAGE0MGM4xLGAAA=",
"Name": "Holidays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Тип ответа
Обновленная группа календарей.
Удаление групп календарей
Примечание
Outlook.com поддерживает только группу календарей по умолчанию, которая доступна по ../me/calendars
ссылке. Не удаляйте эту группу календарей.
Удаление группы календарей
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
DELETE https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
calendar_group_id | строка | Идентификатор группы календарей. |
Пример запроса
DELETE https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0MGM4xLGAAA=
Пример отклика
Status code: 204
Дальнейшие действия
Независимо от того, готовы ли вы приступить к созданию приложения или хотите изучить больше материалов, у нас есть все необходимое.
- Начало работы с API REST Почта, Календарь и Контакты.
- Хотите увидеть примеры? Вот они.
Или узнайте больше об использовании платформы Office 365 здесь:
- API REST Outlook для центра разработок Outlook
- Обзор разработки на платформе Office 365
- Проверка подлинности приложений и авторизация ресурсов в Office 365
- Зарегистрируйте своё приложение в Azure AD вручную, чтобы оно могло получать доступ к API Office 365
- Справка по API Почта
- Справка по API Контакты
- REST API для Задач (предварительная версия)
- API OneDrive
- Справка по операциям API REST службы обнаружения
- Справочник ресурсов по API REST Почта, Календарь, Контакты и Задача