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"
}
}
]
}