Справка по API REST Календаря Outlook (версия 1.0)

Область применения: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Примечание

Не рекомендуется использовать версию 1.0 API REST Outlook. Начиная с 1 ноября 2018 г. приложения не смогут использовать обычную проверку подлинности с конечной точкой v1.0 REST. К 1 ноября 2019 г. конечная точка v1.0 REST будет полностью выведена из эксплуатации, а вскоре после этого будет удалена документация версии 1.0. Запустите миграцию программы, чтобы использовать API REST Outlook в версии 1.0 Microsoft Graph. Дополнительные сведения см. в нашем объявлении.

API календаря обеспечивает доступ к данным о событиях, календаре и группе календарей, защищенным с помощью Azure Active Directory в Office 365, а также к аналогичным данным в учетных записях Майкрософт, особенно в следующих доменах: Hotmail.com, Live.com, MSN.com, Outlook.com и Passport.com.

Примечание

  • Исключением является API поиска времени для собрания, который применяется только к почтовым ящикам Office 365 (на Azure AD), а не к учетным записям Майкрософт.
  • Для упрощения этой справки в остальной части этой статьи при упоминании Outlook.com также подразумеваются и эти домены учетной записи Майкрософт.

Не интересуетесь API версии 1.0? В оглавлении, слева, перейдите к разделу Справка по API REST 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. В настоящее время операция GET возвращает текст события только в формате HTML.

Получение представления календаря

Минимальная требуемая область

Одно из следующих:

Получение вхождений, исключений и отдельных экземпляров событий в представлении календаря за определенный диапазон времени из основного календаря пользователя (../me/calendarview) или из другого календаря.

GET https://outlook.office.com/api/v1.0/me/calendarview?start={start_datetime}&end={end_datetime}
GET https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря, если выполняется получение представления календаря из определенного календаря.
start_datetime datetimeoffset Дата и время начала события.
end_datetime datetimeoffset Дата и время завершения события.

Примечание

По умолчанию каждое событие в ответе включает все его свойства. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Например, получите представление календаря для октября с отображением только свойства Subject для каждого события:

GET https://outlook.office.com/api/v1.0/me/calendarview?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject

Тип отклика

Расширенные события в рамках указанного диапазона времени.

Получение событий образца серии и одиночных событий

Минимальная требуемая область

Одно из следующих:

Получите набор событий образца серии и одиночных событий экземпляра из основного календаря пользователя (../me/events) или из другого календаря. Для получения экземпляров расширенного события можно получить представление календаря или получить экземпляры события.

GET https://outlook.office.com/api/v1.0/me/events
GET https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}/events
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря, если вы получаете события из определенного календаря.

Примечание

Каждое событие в ответе включает все его свойства. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается. См. следующий пример. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

В следующем примере показано, как использовать $select для указания возврата только свойств Тема, Организатор, Начало и Завершение каждого события в ответе. Полный список свойств, которые будут отображаться для события, если не используется $select, см. в первом примере ответа в статье Получение события (REST).

Пример запроса

GET https://outlook.office.com/api/v1.0/me/events?$select=Subject,Organizer,Start,End

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events(Subject,Organizer,Start,End)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWw==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAD8tEyDAAA=",
            "Subject": "Scrum",
            "Start": "2015-11-02T17:00:00Z",
            "End": "2015-11-02T17:30:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWg==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAD8tEyCAAA=",
            "Subject": "team lunch",
            "Start": "2015-11-02T00:00:00Z",
            "End": "2015-11-03T00:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG93AAA=",
            "Subject": "Weekly Meeting on Contoso Project",
            "Start": "2014-10-13T21:00:00Z",
            "End": "2014-10-13T22:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49g==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG92AAA=",
            "Subject": "Daily Team Meeting",
            "Start": "2014-10-13T18:00:00Z",
            "End": "2014-10-13T18:30:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x47Q==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG91AAA=",
            "Subject": "Rob:Alex 1:1",
            "Start": "2014-10-15T16:30:00Z",
            "End": "2014-10-15T17:30:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46g==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG90AAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": "2015-11-26T00:00:00Z",
            "End": "2015-11-27T00:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46Q==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9zAAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": "2014-11-27T00:00:00Z",
            "End": "2014-11-28T00:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49Q==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAA=",
            "Subject": "New Year's Day Holiday",
            "Start": "2015-01-01T00:00:00Z",
            "End": "2015-01-02T00:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x45w==\"",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9xAAA=",
            "Subject": "Christmas Holiday",
            "Start": "2014-12-25T00:00:00Z",
            "End": "2014-12-26T00:00:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Получение экземпляров события

Минимальная требуемая область

Одно из следующих:

Можно получить экземпляры (вхождения) события за указанный диапазон времени. Если событие относится к типу SeriesMaster, возвращаются вхождения и исключения события за указанный диапазон времени.

GET https://outlook.office.com/api/v1.0/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.
start_datetime datetimeoffset Дата и время UTC начала события.
end_datetime datetimeoffset Дата и время UTC завершения события.

Тип отклика

Запрошенная коллекция событий.

Примечание

По умолчанию каждое событие в ответе включает все его свойства. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Например, получите экземпляры определенного события за октябрь, включите только свойства Тема, Начало и Завершение каждого экземпляра:

GET https://outlook.office.com/api/v1.0/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End

Получение события

Минимальная требуемая область

Одно из следующих:

Получение события по идентификатору.

GET https://outlook.office.com/api/v1.0/me/events/{event_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/events/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG93AAA=

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events/$entity",
    "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
    "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
    "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG93AAA=",
    "DateTimeCreated": "2014-10-19T23:13:47.3959685Z",
    "DateTimeLastModified": "2014-10-23T20:23:47.0735997Z",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x49w==",
    "Categories": [],
    "StartTimeZone": "Pacific Standard Time",
    "EndTimeZone": "Pacific Standard Time",
    "ResponseStatus": {
        "Response": "Organizer",
        "Time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "040000008200E00074C5B7101A82E0080000000005F3F755F2EBCF010000000000000000100000007547017C91509D42A5B60C97141AA3DD",
    "Reminder": 15,
    "HasAttachments": false,
    "Subject": "Weekly Meeting on 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"
    },
    "BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
    "Importance": "Normal",
    "Sensitivity": "Normal",
    "Start": "2014-10-13T21:00:00Z",
    "End": "2014-10-13T22:00:00Z",
    "Location": {
        "DisplayName": "Alex's Office"
    },
    "IsAllDay": false,
    "IsCancelled": false,
    "IsOrganizer": true,
    "Recurrence": {
        "Pattern": {
            "Type": "Weekly",
            "Interval": 1,
            "Month": 0,
            "DayOfMonth": 0,
            "DaysOfWeek": [
                "Monday"
            ],
            "FirstDayOfWeek": "Sunday",
            "Index": "First"
        },
        "Range": {
            "Type": "NoEnd",
            "StartDate": "2014-10-13T00:00:00-07:00",
            "EndDate": "0001-01-01T00:00:00Z",
            "NumberOfOccurrences": 0
        }
    },
    "ResponseRequested": true,
    "SeriesMasterId": null,
    "ShowAs": "Busy",
    "Type": "SeriesMaster",
    "Attendees": [
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Janet Schorr",
                "Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
            }
        },
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Pavel Bansky",
                "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com"
            }
        }
    ],
    "Organizer": {
        "EmailAddress": {
            "Name": "Alex D",
            "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
        }
    }

Тип отклика

Запрошенное событие.

Примечание

По умолчанию ответ включает все свойства события. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

В следующем примере показано, как использовать $select для указания возврата только свойств Subject, Organizer, Start и End события.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/events/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG93AAA=?$select=Subject,Organizer,Start,End

Пример отклика

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events(Subject,Organizer,Start,End)/$entity",
    "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
    "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
    "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG93AAA=",
    "Subject": "Weekly Meeting on Contoso Project",
    "Start": "2014-10-13T21:00:00Z",
    "End": "2014-10-13T22:00:00Z",
    "Organizer": {
        "EmailAddress": {
            "Name": "Alex D",
            "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
        }
    }
}

Синхронизация событий

Минимальная требуемая область

Одно из следующих:

Выполните синхронизацию и получите новые, обновленные или удаленные события за указанный диапазон времени из основного календаря пользователя (../me/calendarview) или из другого календаря. Такой набор событий за диапазон времени также называется представлением календаря. Возвращенные события могут включать вхождения и исключения повторяющихся серий и одиночные экземпляры.

Для синхронизации представления календаря обычно требуется серия двух или нескольких запросов синхронизации, каждый из которых является вызовом GET. Для синхронизации представления календаря используйте метод GET, как при использовании получения представления календаря, однако необходимо включить определенные заголовки запроса, deltaToken или skipToken, где необходимо.

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

  • Необходимо указать заголовок "Prefer: odata.track-changes" во всех запросах синхронизации за исключением тех, которые включают skipToken при возврате от предыдущего запроса синхронизации. Перед продолжением в первом ответе найдите заголовок Preference-Applied: odata.track-changes для подтверждения того, что ресурс поддерживает синхронизацию. (Для получения дополнительной информации о skipToken см. данные примера второго ответа.)

  • Можно указать заголовок "Prefer: odata.maxpagesize={x}" для указания максимального числа событий возврата запроса синхронизации.

Далее представлена типичная серия событий синхронизации в представлении календаря:

  1. Выполните начальный запрос GET с обязательным заголовком Prefer: odata.track-changes. Начальный ответ на запрос синхронизации всегда возвращает deltaToken. (Второй и последующие запросы GET отличаются от первого запроса GET, так как включают deltaToken или skipToken, полученные в предыдущем ответе.)

  2. Если первый ответ возвращает заголовок 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/v1.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Второй запрос или первый запрос последующей серии:

GET https://outlook.office.com/api/v1.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Третий или последующий запрос в той же серии:

GET https://outlook.office.com/api/v1.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Синхронизация в определенном календаре

Первоначальный запрос:

GET https://outlook.office.com/api/v1.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Второй запрос или первый запрос последующей серии:

GET https://outlook.office.com/api/v1.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Третий или последующий запрос в той же серии:

GET https://outlook.office.com/api/v1.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Параметры

Параметр Тип Описание
Параметры URL-адреса
user_context string Контекст пользователя. Можно использовать значение 'me' для указания контекста текущего пользователя. Можно также использовать формат users/{upn}, где upn представляет собой имя участника-пользователя, обычно это адрес электронной почты пользователя.
calendar_id string Идентификатор календаря, если выполняется получение представления календаря из определенного календаря.
start_datetime datetimeoffset Дата и время начала события.
end_datetime datetimeoffset Дата и время завершения события.
delta_token string Строка deltaToken была возвращена в качестве части значения для @odata.deltaLink в предыдущем ответе синхронизации.
skip_token string Строка skipToken была возвращена в качестве части значения для @odata.nextLink в предыдущем ответе синхронизации.

Примечание

  • При указании "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/v1.0/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

Пример данных первоначального отклика

Preference-Applied: odata.track-changes

    {
        "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarView",
        "value": [
            {
                "@odata.id": "https://outlook.office.com/api/v1.0/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": "2015-04-05T18:00:00Z",
                "StartTimeZone": "Pacific Standard Time",
                "End": "2015-04-05T19:00:00Z",
                "EndTimeZone": "Pacific Standard Time",
                "Reminder": 15,
                "Location": {
                    "DisplayName": "",
                    "Address": null
                },
                "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,
                "Organizer": {
                    "EmailAddress": {
                        "Address": "user0@contoso.com",
                        "Name": "user0"
                    }
                },
                "iCalUId": "040000008200E9888E07599CCFA23",
                "WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
            }
        ],
        "@odata.deltaLink": "https://outlook.office.com/api/v1.0/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/v1.0/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

Пример данных второго отклика

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/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": "2015-04-16T18:00:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-16T19:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                }
            },
            "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,
            "Organizer": {
                "EmailAddress": {
                    "Address": "user0@contoso.com",
                    "Name": "user0"
                }
            },
            "iCalUId": "040000008200E09BB89A316862",
            "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        }
    ],
    "@odata.nextLink": "https://outlook.office.com/api/v1.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}

Поиск времени встречи

В настоящее время эта функция доступна в версии 2.0 и бета-версии.

Получение конференц-залов (предварительная версия)

Эта функция в настоящий момент доступна только в бета-версии.

Создание событий

Создание события календаря

Минимальная требуемая область

Одно из следующих:

Создайте событие в основном календаре пользователя или в определенном календаре путем размещения в конечной точке календаря events. При создании события сервер отправляет приглашения всем участникам.

По умолчанию значения времени Start и End указаны в формате UTC. Можно указать часовые пояса для параметров Start и End, задать время в соответствующем часовом поясе и смещение от UTC.

В следующем примере показано, как устанавливать значения тихоокеанского поясного времени. Обратите внимание, что при указании значения одного часового пояса необходимо также установить значение для другого часового пояса.

POST https://outlook.office.com/api/v1.0/me/events
POST https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}/events
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря.

Пример запроса

POST https://outlook.office.com/api/v1.0/me/events
Content-Type: application/json
{
  "Subject": "Discuss the Calendar REST API",
  "Body": {
    "ContentType": "HTML",
    "Content": "I think it will meet our requirements!"
  },
  "Start": "2014-02-02T18:00:00-08:00",
  "StartTimeZone": "Pacific Standard Time",
  "End": "2014-02-02T19:00:00-08:00",
  "EndTimeZone": "Pacific Standard Time",
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Type": "Required"
    }
  ]
}

Пример отклика

Код состояния: 201

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAENAAAmP1Ln1wcHRariNdTMGAO9AAAV4v1RAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==",
  "Categories": [],
  "DateTimeCreated": "2014-01-22T20:56:10.1058291Z",
  "DateTimeLastModified": "2014-01-22T20:56:10.3402186Z",
  "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": "2014-02-02T18:00:00-08:00",
  "StartTimeZone": "Pacific Standard Time",
  "End": "2014-02-02T19:00:00-08:00",
  "EndTimeZone": "Pacific Standard Time",
  "Location": {
    "DisplayName": ""
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Status": {
        "Response": "None",
        "Time": "0001-01-01T00:00:00Z"
      },
      "Type": "Required"
    }
  ],
  "Recurrence": null,
  "Organizer": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "alexd"
    }
  }
}

Тип отклика

Новое событие.

По умолчанию ответ включает все свойства нового события. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается.

Следующий пример включает только свойства Start и End нового события в ответе.

POST https://outlook.office.com/api/v1.0/me/events?$Select=Start,End

Обновление событий

Обновление события календаря

Минимальная требуемая область

Одно из следующих:

Измените событие. Будут изменены только указанные свойства. Если пользователь является организатором, всем участникам сервером будут отправлены обновления собрания.

PATCH https://outlook.office.com/api/v1.0/me/events/{event_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.

Укажите любые записываемые свойства события в тексте запроса.

Пример запроса

PATCH https://outlook.office.com/api/v1.0/me/events/AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAENAAAmP1Ln1wcHRariNdTMGAO9AAAV4v1OAAA=
Content-Type: application/json
{
  "Location": {
    "DisplayName": "Your office"
  }
}

Пример отклика

Код состояния: 200

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAENAAAmP1Ln1wcHRariNdTMGAO9AAAV4v1OAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
  "Categories": [],
  "DateTimeCreated": "2014-01-22T20:49:05.5657528Z",
  "DateTimeLastModified": "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": "2014-02-02T18:00:00-08:00",
  "StartTimeZone": "Pacific Standard Time",
  "End": "2014-02-02T19:00:00-08:00",
  "EndTimeZone": "Pacific Standard Time",
  "Location": {
    "DisplayName": "Your office"
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [],
  "Recurrence": null,
  "Organizer": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "alexd"
    }
  }
}

Тип отклика

Обновленное событие. Если пользователь является организатором, всем участникам сервером будут отправлены обновления собрания.

По умолчанию ответ включает все свойства обновленного события. Для лучшей производительности используйте $select, чтобы указать только те свойства, которые вам нужны. Свойство Id всегда возвращается.

PATCH https://outlook.office.com/api/v1.0/me/events/AAMkAGE1MFKPQWAAA=?$select=Location

Ответ на события

Принятие события

Минимальная требуемая область

Одно из следующих:

Принятие указанного события.

POST https://outlook.office.com/api/v1.0/me/events/{event_id}/accept
Параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события. Обязательный.
Параметры текста сообщения
Comment string Текст, включенный в ответ. Необязательный.
SendResponse boolean true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение . Необязательный. Значение по умолчанию: .false true

Пример запроса

POST https://outlook.office.com/api/v1.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept

Content-Type: application/json

{
  "Comment": "Great idea!",
  "SendResponse": "true"
}

Ответ

Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.

Предварительное принятие события

Минимальная требуемая область

Одно из следующих:

Предварительное принятие указанного события.

POST https://outlook.office.com/api/v1.0/me/events/{event_id}/tentativelyaccept
Параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события. Обязательный.
Параметры текста сообщения
Comment string Текст, включенный в ответ. Необязательный.
SendResponse boolean true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение . Необязательный. Значение по умолчанию: .false true

Пример запроса

POST https://outlook.office.com/api/v1.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept

Content-Type: application/json

{
  "Comment": "I'll confirm later!",
  "SendResponse": "true"
}

Ответ

Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.

Отклонение события

Минимальная требуемая область

Одно из следующих:

Отклонение приглашения на указанное событие.

POST https://outlook.office.com/api/v1.0/me/events/{event_id}/decline
Параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события. Обязательный.
Параметры текста сообщения
Comment string Текст, включенный в ответ. Необязательный.
SendResponse boolean true Значение указывает, что организатору должен быть отправлен ответ. В противном случае используется значение . Необязательный. Значение по умолчанию: .false true

Пример запроса

POST https://outlook.office.com/api/v1.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline

Content-Type: application/json

{
  "Comment": "Sorry, maybe next time!",
  "SendResponse": "true"
}

Ответ

Ответ об успешном выполнении характеризуется наличием кода отклика HTTP 202 Accepted.

Перенаправление событий (предварительная версия)

Эта функция в настоящий момент доступна только в бета-версии.

Удаление событий

Удаление события календаря

Минимальная требуемая область

Одно из следующих:

Переместите событие в папку "Удаленные" пользователя, который вошел в систему. Если событие является собранием, а пользователь, который вошел в систему, является организатором, сервер отправит сообщения об отмене все участникам.

DELETE https://outlook.office.com/api/v1.0/me/events/{event_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.

Пример запроса

DELETE https://outlook.office.com/api/v1.0/me/events/AAMkAGE0M4v1OAAA=

Пример отклика

Status code: 204 

Отмена событий (предварительная версия)

Эта функция в настоящий момент доступна только в бета-версии.

Получение вложений

Можно получить коллекцию вложений или получить вложение.

Получение набора вложений

Минимальная требуемая область

Одно из следующих:

Получите вложения из определенного события.

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

GET https://outlook.office.com/api/v1.0/me/events/{event_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.

Тип отклика

Коллекция вложений, которые могут быть типа FileAttachment или ItemAttachment.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/events/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAA=/attachments

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events('AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAA%3D')/Attachments",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
            "Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
            "DateTimeLastModified": "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=="
            "IsContactPhoto": false
        }
    ]
}

Получение вложения

Минимальная требуемая область

Одно из следующих:

Получите вложение из определенного события.

GET https://outlook.office.com/api/v1.0/me/events/{event_id}/attachments/{attachment_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.
attachment_id string Идентификатор вложения.

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Тип отклика

Запрошенное вложение файла или вложение элемента.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/events/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAA=/attachments/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events('AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAENAACd9nJ-tVysQos2hTfspaWRAAADTG9yAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
    "Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo="
    "DateTimeLastModified": "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==",
    "IsContactPhoto": false
}

Создание вложений

Можно создать вложение файла или создать вложение элемента для события.

Создание вложения файла

Минимальная требуемая область

Одно из следующих:

Добавьте вложение файла в событие.

POST https://outlook.office.com/api/v1.0/me/events/{event_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.
Параметры текста сообщения
@odata.type string #Microsoft.OutlookServices.FileAttachment
Name string Имя вложения.
ContentBytes двоичный Файл для вложения.

Тип отклика

Новое вложение файла.

Создание вложения элемента

Минимальная требуемая область

Одно из следующих:

Добавьте вложение элемента в событие.

POST https://outlook.office.com/api/v1.0/me/events/{event_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.
Параметры текста сообщения
@odata.type string #Microsoft.OutlookServices.ItemAttachment
Name string Имя вложения.
Item Объект Сообщение, Событие или Контакт. Элемент для вложения.

Тип отклика

Новое вложение элемента.

Создание вложения ссылки

Минимальная требуемая область

https://outlook.office.com/calendars.readwrite

Добавьте вложение ссылки в событие.

Эта функция в настоящий момент доступна только в бета-версии.

Удаление вложений

Удаление вложения события

Минимальная требуемая область

Одно из следующих:

Удалите указанное вложение события. Вложением может быть вложение файла или вложение элемента.

DELETE https://outlook.office.com/api/v1.0/me/events/{event_id}/attachments/{attachment_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
event_id string Идентификатор события.
attachment_id string Идентификатор вложения.

Пример запроса

DELETE https:/outlook.office.com/api/v1.0/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=

Пример отклика

Status code: 204

Получение напоминаний

Получите список напоминаний событий между двумя датами и временем из календаря.

Минимальная требуемая область

Одно из следующих:

В настоящее время эта функция доступна в версии 2.0 и бета-версии.

Функция повторного напоминания

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

Минимальная требуемая область

Одно из следующих:

В настоящее время эта функция доступна в версии 2.0 и бета-версии.

Отклонение напоминаний

Отклонение активированного напоминания.

Минимальная требуемая область

Одно из следующих:

В настоящее время эта функция доступна в версии 2.0 и бета-версии.

Получение календарей

Можно получить набор календарей или календарь.

Получить набор календарей

Минимальная требуемая область

Одно из следующих:

Получите все календари пользователя (calendars) или получите календари из определенной группы календарей.

GET https://outlook.office.com/api/v1.0/me/calendars
GET https://outlook.office.com/api/v1.0/me/calendargroups/{calendar_group_id}/calendars

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
calender_group_id string Идентификатор группы календарей.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/calendars

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Calendars",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuLAAA=",
            "Name": "Calendar",
            "Color": "Auto",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w=="
        }
    ]
}

Тип отклика

Запрошенный набор календарей.

Получить календарь

Минимальная требуемая область

Одно из следующих:

Получите календарь по идентификатору. Можно получить основной календарь пользователя с помощью конечной точки ../me/calendar.

GET https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/calendars/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuLAAA=

Пример отклика

Код состояния: 200

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Calendars/$entity",
    "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
    "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuLAAA=",
    "Name": "Calendar",
    "Color": "Auto",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w=="
}

Тип отклика

Запрошенный календарь.

Создание календарей

Создание календаря

Минимальная требуемая область

Одно из следующих:

Создайте календарь в группе календарей по умолчанию с помощью ярлыка ../me/calendars или в определенной группе календарей путем размещения в конечной точке группы calendars.

POST https://outlook.office.com/api/v1.0/me/calendars
POST https://outlook.office.com/api/v1.0/me/calendargroups/{calendar_group_id}/calendars
Обязательный параметр Тип Описание
Параметры URL-адреса
calender_group_id string Идентификатор группы календарей, если выполняется получение календарей из определенной группы.
Параметры текста сообщения
Name string Имя нового календаря.

Пример запроса

POST https://outlook.office.com/api/v1.0/me/calendars
Content-Type: application/json
{
  "Name": "Social"
}

Пример отклика

Код состояния: 201

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLHAAA=",
  "Name": "Social",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ=="
}

Тип отклика

Новый календарь.

Обновление календарей

Обновление календаря

Минимальная требуемая область

Одно из следующих:

Измените записываемые свойства календаря.

PATCH https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря.
Параметры текста сообщения
Name string Новое имя календаря.

Пример запроса

PATCH https://outlook.office.com/api/v1.0/me/calendars/AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLIAAA=
Content-Type: application/json
{
  "Name": "Social events"
}

Пример отклика

Код состояния: 200

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLIAAA=",
  "Name": "Social events",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw=="

Тип отклика

Обновленный календарь.

Удаление календарей

Удаление календаря

Минимальная требуемая область

Одно из следующих:

DELETE https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_id string Идентификатор календаря.

Пример запроса

DELETE https://outlook.office.com/api/v1.0/me/calendars/{calendar_id}

Пример отклика

Status code: 204

Получение групп календарей

Можно получить набор группы календарей или получить группу календарей.

Примечание

Outlook.com поддерживает только группу календарей по умолчанию, которая доступна с помощью ярлыка ../me/calendars.

Получение набора группы календарей

Минимальная требуемая область

Одно из следующих:

Получение групп календарей в почтовом ящике.

GET https://outlook.office.com/api/v1.0/me/calendargroups

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/calendargroups

Пример отклика

Код состояния: 200

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarGroups",
  "value": [
    {
      "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
      "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x0+g==\"",
      "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuKAAA=",
      "Name": "My Calendars",
      "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g==",
      "ClassId": "0006f0b7-0000-0000-c000-000000000046"
    },
    {
      "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
      "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x0/A==\"",
      "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuMAAA=",
      "Name": "Other Calendars",
      "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A==",
      "ClassId": "0006f0b8-0000-0000-c000-000000000046"
    }
  ]
}

Тип отклика

Запрошенный набор группы календарей.

Получение группы календарей

Минимальная требуемая область

Одно из следующих:

Получите группу календарей по идентификатору.

GET https://outlook.office.com/api/v1.0/me/calendargroups/{calendar_group_id}

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_group_id string Идентификатор группы календарей.

Пример запроса

GET https://outlook.office.com/api/v1.0/me/calendargroups/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuKAAA=

Пример отклика

{
    "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarGroups/$entity",
    "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
    "Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEGAACd9nJ-tVysQos2hTfspaWRAAADTGuKAAA=",
    "Name": "My Calendars",
    "ClassId": "0006f0b7-0000-0000-c000-000000000046",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}

Тип отклика

Запрошенная группа календарей.

Создание групп календарей

Создание группы календарей. Имя является единственным записываемым свойством группы календарей.

Примечание

Outlook.com поддерживает только группу календарей по умолчанию, которая доступна с помощью ярлыка ../me/calendars. Не удастся создать другую группу календарей в Outlook.com.

Создание группы календарей

Минимальная требуемая область

Одно из следующих:

POST https://outlook.office.com/api/v1.0/me/calendargroups
Обязательный параметр Тип Описание
Параметр URL-адреса
Параметры текста сообщения
Name string Имя группы календарей.
POST https://outlook.office.com/api/v1.0/me/calendargroups
Content-Type: application/json
{
  "Name": "Birthdays"
}

Пример отклика

Код состояния: 201

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLGAAA=",
  "Name": "Birthdays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Тип отклика

Новая группа календарей.

Обновление групп календарей

Обновление группы календарей

Минимальная требуемая область

Одно из следующих:

Измените имя группы календарей. Имя является единственным записываемым свойством группы календарей.

PATCH https://outlook.office.com/api/v1.0/me/calendargroups/{calendar_group_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_group_id string Идентификатор группы календарей.
Параметры текста сообщения
Name string Имя обновленной группы календарей.
PATCH https://outlook.office.com/api/v1.0/me/calendargroups/AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLGAAA=
{
  "Name": "Holidays"
}

Пример отклика

Код состояния: 200

{
  "@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
  "Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEGAAAmP1Ln1wcHRariNdTMGAO9AAAV4xLGAAA=",
  "Name": "Holidays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Тип отклика

Обновленная группа календарей.

Удаление групп календарей

Примечание

Outlook.com поддерживает только группу календарей по умолчанию, которая доступна с помощью ярлыка ../me/calendars. Не удаляйте эту группу календарей.

Удаление группы календарей

Минимальная требуемая область

Одно из следующих:

DELETE https://outlook.office.com/api/v1.0/me/calendargroups/{calendar_group_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
calendar_group_id string Идентификатор группы календарей.

Пример запроса

DELETE https://outlook.office.com/api/v1.0/me/calendargroups/AAMkAGE0MGM4xLGAAA=

Пример отклика

Status code: 204

Дальнейшие действия

Независимо от того, готовы ли вы приступить к созданию приложения или хотите изучить больше материалов, у нас есть все необходимое.

Или узнайте больше об использовании платформы Office 365 здесь: