Compartilhar via


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 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 tem permissões de aplicativo ou
  • Se o aplicativo tem as permissões delegadas apropriadas de um usuário e o outro usuário compartilhou um calendário com esse usuário ou concedeu acesso delegado ao usuário. Confira os detalhes e um exemplo.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

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 é necessá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.ReadBasic, Calendars.Read, Calendars.ReadWrite
Delegado (conta pessoal da Microsoft) Calendars.ReadBasic, Calendars.Read, Calendars.ReadWrite
Application Calendars.ReadBasic, 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.

Observação

Não pode utilizar o $filter parâmetro para filtrar a propriedade periodicidade .

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Prefira: outlook.timezone string Use isto para especificar o fuso horário para horas de início e término na resposta. Se não 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.

Exemplos

Exemplo 1: Obter todos os eventos do utilizador

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 $select parâmetro de consulta para devolver 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.

Solicitação

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

Resposta

O exemplo a seguir mostra a 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@contoso.com"
                    }
                },
                {
                    "type":"required",
                    "status":{
                        "response":"none",
                        "time":"0001-01-01T00:00:00Z"
                    },
                    "emailAddress":{
                        "name":"Dana Swope",
                        "address":"danas@contoso.com"
                    }
                }
            ],
            "organizer":{
                "emailAddress":{
                    "name":"Samantha Booth",
                    "address":"samanthab@contoso.com"
                }
            }
        }
    ]
}

Exemplo 2: Obter o corpo correto da mensagem

O exemplo seguinte mostra como utilizar um Prefer: outlook.body-content-type="text" cabeçalho 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.

Solicitação

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

Resposta

O exemplo a seguir mostra a 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"
            }
        }
    ]
}