Поделиться через


Список событий

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

Получение списка объектов event в почтовом ящике пользователя. Этот список содержит собрания с одним экземпляром и образцы рядов.

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

В настоящее время эта операция возвращает текст события только в формате HTML.

Существует два сценария, в которых приложение может получить события из календаря другого пользователя:

  • если у приложения есть разрешения для приложений;
  • если у приложения есть соответствующие делегированные разрешения от одного пользователя, а другой пользователь поделился с ним календарем или предоставил ему делегированный доступ. См. подробные сведения и пример.

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

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

Поддержка разных часовых поясов

Для всех операций GET, которые возвращают события, можно использовать заголовок Prefer: outlook.timezone, чтобы задать часовой пояс для указанного в отклике времени начала и завершения события.

Например, заголовок Prefer: outlook.timezone задает в отклике время начала и завершения согласно североамериканскому восточному времени.

Prefer: outlook.timezone="Eastern Standard Time"

Если событие создано с применением другого часового пояса, время начала и завершения будет изменено в соответствии с часовым поясом, указанным в заголовке Prefer. Поддерживаемые часовые пояса указаны в этом списке. Если заголовок Prefer: outlook.timezone не указан, время начала и завершения возвращается в формате UTC.

Узнать, какой именно часовой пояс использовался при создании события, позволят свойства OriginalStartTimeZone и OriginalEndTimeZone ресурса event.

Разрешения

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

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

HTTP-запрос

GET /me/events
GET /users/{id | userPrincipalName}/events

GET /me/calendar/events
GET /users/{id | userPrincipalName}/calendar/events

GET /me/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendars/{id}/events

GET /me/calendarGroups/{id}/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}/events

Необязательные параметры запросов

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

Примечание.

Параметр нельзя использовать для $filter фильтрации по свойству повторения .

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

Имя Тип Описание
Authorization string Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Prefer: outlook.timezone string С помощью этого заголовка вы можете задать часовой пояс для времени начала и окончания в ответе. Если он не задан, эти значения времени возвращаются в формате UTC. Необязательное свойство.
Prefer: outlook.body-content-type string Формат возвращаемого свойства body. Возможные значения: "text" или "html". Заголовок Preference-Applied возвращается как подтверждение, если заголовок Prefer указан. Если заголовок не указан, свойство body возвращается в формате HTML. Необязательное свойство.

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

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

Отклик

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

Примеры

Запрос

Ниже показан пример запроса. В нем указывается:

  • Заголовок Prefer: outlook.timezone для получения значений даты и времени, которые возвращаются для стандартного тихоокеанского времени.
  • Параметр $select запроса для возврата определенных свойств. Без параметра $select будут возвращены все свойства событий.
GET https://graph.microsoft.com/v1.0/me/events?$select=subject,body,bodyPreview,organizer,attendees,start,end,location
Prefer: outlook.timezone="Pacific Standard Time"

Отклик

Ниже показан пример отклика. Свойство body возвращается в формате HTML по умолчанию.

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.timezone="Pacific Standard Time"

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location)",
    "value":[
        {
            "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
            "id":"AAMkAGIAAAoZDOFAAA=",
            "subject":"Orientation ",
            "bodyPreview":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.",
            "body":{
                "contentType":"html",
                "content":"<html><head></head><body><p>Dana, this is the time you selected for our orientation. Please bring the notes I sent you.</p></body></html>"
            },
            "start":{
                "dateTime":"2017-04-21T10:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "end":{
                "dateTime":"2017-04-21T12:00:00.0000000",
                "timeZone":"Pacific Standard Time"
            },
            "location": {
                "displayName": "Assembly Hall",
                "locationType": "default",
                "uniqueId": "Assembly Hall",
                "uniqueIdType": "private"
            },
            "locations": [
                {
                    "displayName": "Assembly Hall",
                    "locationType": "default",
                    "uniqueIdType": "unknown"
                }
            ],
            "attendees":[
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Samantha Booth",
                        "address":"[email protected]"
                    }
                },
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Dana Swope",
                        "address":"[email protected]"
                    }
                }
            ],
            "organizer":{
                "emailAddress":{
                    "name":"Samantha Booth",
                    "address":"[email protected]"
                }
            }
        }
    ]
}