Listar eventos

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor de versão.

Obtenha uma lista de objetos event no calendário padrão do usuário ou de um calendário especificado. A lista contém reuniões de instância única e reuniões mestres em série.

Para obter instâncias de evento expandidas, obtenha a visualização de calendário ou obtenha as instâncias de um evento.

Há dois cenários em que um aplicativo pode encontrar eventos do calendário de outro usuário:

  • Se o aplicativo tiver permissões de aplicativo ou
  • Se o aplicativo tiver as permissões delegadas apropriadas de um usuário e outro usuário tiver compartilhado uma agenda com esse usuário ou se tiver concedido acesso delegado a esse usuário. Confira detalhes e um exemplo.

Suporte para vários fusos horários

Para todas as operações GET que retornam eventos, você pode usar o cabeçalho Prefer: outlook.timezone para especificar o fuso horário para as horas de início e de término do evento na resposta.

Por exemplo, o seguinte cabeçalho Prefer: outlook.timezone define as horas de início e de término na resposta como Hora Padrão do Leste.

Prefer: outlook.timezone="Eastern Standard Time"

Se o evento foi criado em um fuso horário diferente, as horas de início e de término serão ajustadas para o fuso horário especificado no cabeçalho Prefer. Veja esta lista para obter os nomes de fuso horário com suporte. Se o cabeçalho Prefer: outlook.timezone não for especificado, as horas de início e de término serão retornadas em UTC.

Você pode usar as propriedades OriginalStartTimeZone e OriginalEndTimeZone no recurso event para descobrir o fuso horário usado quando o evento foi criado.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Calendars.Read, Calendars.ReadWrite
Delegado (conta pessoal da Microsoft) Calendars.Read, Calendars.ReadWrite
Aplicativo Calendars.Read, Calendars.ReadWrite

Solicitação 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

Parâmetros de consulta opcionais

Este método dá suporte a Parâmetros de consulta OData para ajudar a personalizar a resposta.

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório.
Prefira: outlook.timezone string Use isso para especificar o fuso horário para os horários de início e término na resposta. Se não for especificado, esses valores de tempo serão retornados em UTC. Opcional.
Prefer: outlook.body-content-type cadeia de caracteres O formato da propriedade corpo a ser retornada. Os valores podem ser "text" ou "html". Um cabeçalho Preference-Applied é retornado como confirmação se este cabeçalho Prefer for especificado. Se o cabeçalho não for especificado, a propriedade corpo será retornada no formato HTML. Opcional.

Corpo da solicitação

Não forneça um corpo de solicitação para esse método.

Resposta

Se bem-sucedido, este método retorna um código de resposta 200 OK e uma coleção de objetos event no corpo da resposta.

Exemplo

Solicitação 1

O primeiro exemplo obtém todos os eventos do usuário. Especifica o seguinte:

  • um cabeçalho Prefer: outlook.timezone para obter valores de data/hora retornados na Hora Oficial do Pacífico.
  • Um parâmetro de consulta $select para retornar propriedades específicas. Sem um parâmetro $select, todas as propriedades do evento serão retornadas.

A solicitação não especifica nenhum cabeçalho Prefer: outlook.body-content-type para indicar um formato específico para o corpo do evento retornado.

GET https://graph.microsoft.com/beta/me/events?$select=subject,body,bodyPreview,organizer,attendees,start,end,location
Prefer: outlook.timezone="Pacific Standard Time"
Resposta 1

Veja a seguir um exemplo da resposta. Como nenhum cabeçalho Prefer: outlook.body-content-type foi especificado, a propriedade body será retornada no formato HTML padrão.

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

{
    "@odata.context":"https://graph.microsoft.com/beta/$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":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                    }
                },
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Dana Swope",
                        "address":"danas@a830edad905084922E17020313.onmicrosoft.com"
                    }
                }
            ],
            "organizer":{
                "emailAddress":{
                    "name":"Samantha Booth",
                    "address":"samanthab@a830edad905084922E17020313.onmicrosoft.com"
                }
            }
        }
    ]
}
Solicitação 2

O segundo exemplo mostra como usar um cabeçalho Prefer: outlook.body-content-type="text" para obter a propriedade body da mensagem especificada no formato de texto.

A solicitação também usa um parâmetro de consulta $select para retornar propriedades específicas. Sem um parâmetro $select, todas as propriedades do evento serão retornadas.

GET https://graph.microsoft.com/beta/me/events?$select=subject,body,bodyPreview
Prefer: outlook.body-content-type="text"
Resposta 2

Veja a seguir um exemplo da resposta. A propriedade body é retornada no formato de texto.

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.body-content-type="text"

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview)",
    "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":"text",
                "content":"Dana, this is the time you selected for our orientation. Please bring the notes I sent you.\r\n"
            }
        }
    ]
}