Referência da API REST de Calendário do Outlook (beta)
Aplica-se a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Observação
Esta documentação abrange a API para salas de reunião, vários locais de eventos, compartilhamento de calendário e encaminhamento e cancelamento de eventos que estão em versão prévia. Os recursos de versão prévia estão sujeitos a alterações antes da finalização e podem violar o código que os utiliza. Por essa razão, em geral, você deve usar somente uma versão de produção de uma API em seu código de produção. Se disponível, v2.0 é, no momento, a versão preferida.
A API de Calendário fornece acesso a dados de eventos, calendários e grupos de calendários protegidos pelo Active Directory do Azure no Office 365 e a dados semelhantes nas contas da Microsoft especificamente nestes domínios: Hotmail.com, Live.com, MSN.com, Outlook.com e Passport.com.
Observação
- A exceção é a API para encontrar horários de reunião, que se aplica somente a caixas de correio do Office 365 (no Azure AD) e não a contas da Microsoft.
- Para simplificar a referência, o restante deste artigo usa o Outlook.com para incluir esses domínios de conta da Microsoft.
Não tem interesse na versão beta da API? No sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione a versão que deseja.
Todas as operações da API de Calendário
Operações de evento
Um evento representa um compromisso ou reunião no calendário do usuário. Um evento pode ser um mestre de série (para eventos recorrentes), uma ocorrência, uma única instância ou uma exceção.
- Obter eventos
- Sincronizar eventos
- Localizar horários de reunião
- Obter salas de reunião (versão prévia)
- Criar eventos
- Atualizar eventos
- Responder a eventos
- Encaminhar eventos (versão prévia)
- Excluir eventos
- Cancelar eventos (versão prévia)
- Obter anexos
- Criar anexos
- Excluir anexos
- Obter lembretes
- Adiar lembretes
- Ignorar lembretes
Operações de calendário
Um calendário funciona como um contêiner para eventos. Um usuário pode ter vários calendários. No Office 365, cada calendário pode ser atribuído a um grupo de calendários.
Operações do grupo de calendários
Grupos de calendários são uma maneira de organizar vários calendários. Os usuários podem adicionar vários calendários em um único grupo de calendários no Outlook ou no Outlook Web App. Isso facilita a exibição rápida de todos os calendários no grupo.
Observação
O Outlook.com tem suporte apenas para o grupo de calendários padrão que é acessível pelo atalho ../me/calendars
. Você não pode excluir esse grupo de calendários ou criar outro grupo de calendários.
- Obter grupos de calendários
- Criar grupos de calendários
- Atualizar grupos de calendários
- Excluir grupos de calendários
Confira também
- Recurso de evento da API REST
- Recurso de calendário da API REST
- Recursos de grupo de calendários da API REST
Uso da API REST de Calendário
Autenticação
Como outra API REST do Outlook, para cada solicitação à API de Calendário, você deve incluir um token de acesso válido. A obtenção de um token de acesso exige que você se registre e identifique seu aplicativo, e obtenha a autorização adequada.
Você pode saber mais sobre algumas opções simplificadas de registro e autorização. Tenha isso em mente ao prosseguir com as operações específicas na API de Calendário.
Escopos para acessar calendários compartilhados
Os calendários do Office 365 e do Outlook.com suportam compartilhamento. Um usuário que criou um calendário pode compartilhar o calendário com outros usuários. Os seguintes escopos são necessários para acessar um calendário compartilhado com esse usuário:
- Para acesso de leitura:
https://outlook.office.com/calendars.read.shared
- Para acesso de leitura/gravação:
https://outlook.office.com/calendars.readwrite.shared
Versão da API
A API REST de Calendário é suportada em todas as versões da API REST do Outlook. A funcionalidade pode variar dependendo da versão específica.
Usuário de destino
As solicitações da API de Calendário são sempre realizadas em nome do usuário atual.
Veja Usar a API REST do Outlook para obter mais informações comuns a todos os subconjuntos da API REST do Outlook.
Obter eventos
Obtenha uma coleção de eventos ou um evento.
Um corpo de evento pode estar em texto ou HTML.
Você pode usar o cabeçalho Prefer: outlook.body-content-type
para especificar o formato desejado retornado na propriedade Body em uma solicitação GET:
- Especifique
Prefer: outlook.body-content-type="text"
para obter um corpo de evento retornado em formato de texto. - Especifique
Prefer: outlook.body-content-type="html"
ou apenas pule o cabeçalho para retornar o corpo de evento no formato HTML.
Se você especificar um dos cabeçalhos, a resposta incluirá o cabeçalho Preference-Applied
correspondente como confirmação:
- Para solicitações de formato de texto:
Preference-Applied: outlook.body-content-type="text"
- Para solicitações de formato HTML:
Preference-Applied: outlook.body-content-type="html"
Todas as operações que recebem eventos de calendário podem usar o cabeçalho HTTP Prefer: outlook.timezone para especificar o fuso horário dos horários de início e término na resposta. Por exemplo, o cabeçalho Prefer: outlook.timezone define os horários de início e término na resposta como Hora padrão do leste dos EUA.
Prefer: outlook.timezone="Eastern Standard Time"
Se você não especificar o cabeçalho Prefer: outlook.timezone, os horários de início e término na resposta retornarão para UTC.
Você pode usar as propriedades OriginalStartTimeZone e OriginalEndTimeZone no recurso Evento para descobrir o fuso horário usado quando o evento foi criado.
- Obter uma visão de calendário
- Obter eventos mestre de série e eventos únicos
- Obter instâncias de evento)
- Obter um evento
Obter uma visão de calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obtenha as ocorrências, exceções e instâncias únicas de eventos em uma visão de calendário definida por um intervalo de tempo, a partir do calendário principal do usuário (../me/calendarview
) ou de um calendário diferente.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário, se você obtiver uma visão de um calendário específico. |
start_datetime | datetimeoffset | A data e o horário em que o evento inicia. |
end_datetime | datetimeoffset | A data e o horário em que o evento termina. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes de fuso horário suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, os horários de início e término retornarão em UTC.
Observação
Por padrão, cada evento na resposta inclui todas as suas propriedades. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Por exemplo, obtenha a visão de calendário para o mês de outubro, retornando apenas a propriedade Subject para cada evento. Se o cabeçalho Prefer: outlook.timezone não estiver incluído na solicitação, o fuso horário será UTC.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject
Tipo de resposta
Os eventos expandidos no intervalo de tempo especificado.
Obter eventos mestre de série e eventos únicos
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter uma coleção de eventos mestre de série e de instância única do calendário principal do usuário (../me/events
) ou de um calendário diferente. Para obter instâncias de evento expandidas, você pode obter a visão de calendário ou obter as instâncias de um evento.
GET https://outlook.office.com/api/beta/me/events
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário, se você estiver obtendo eventos de um calendário específico. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes de fuso horário suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, os horários de início e término retornarão em UTC.
Observação
Cada evento na resposta inclui todas as suas propriedades. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Veja o próximo exemplo. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
O exemplo a seguir mostra como usar $select
para especificar retornando apenas as propriedades Subject, Organizer, Start e End de cada evento na resposta. Veja a primeira resposta de amostra em Obter um evento (REST) para obter uma lista completa das propriedades que serão retornadas para um evento se você não usar $select
.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/events?$select=Subject,Organizer,Start,End,Location,Locations
Resposta de amostra
Código de status: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End,Location,Locations)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNWAACYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNWAACYBXsvAAA=",
"Subject":"Plan summer company picnic",
"Start":{
"DateTime":"2017-06-09T18:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-06-09T19:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNPkvzAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAdE6yjA==\"",
"Id":"AAMkADNPkvzAAA=",
"Subject":"Customer visit",
"Start":{
"DateTime":"2017-04-20T21:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-04-20T23:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
}
]
}
Obter instâncias de evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Você pode obter as instâncias (ocorrências) de um evento para um intervalo de tempo especificado. Se o evento for um tipo SeriesMaster, isso retornará as ocorrências e exceções do evento no intervalo de tempo especificado.
GET https://outlook.office.com/api/beta/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
start_datetime | datetimeoffset | A data e o horário em que o evento inicia. |
end_datetime | datetimeoffset | A data e o horário UTC em que o evento termina. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes de fuso horário suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, os horários de início e término retornarão em UTC.
Tipo de resposta
A coleção de eventos solicitada.
Observação
Por padrão, cada evento na resposta inclui todas as suas propriedades. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Por exemplo, obtenha as instâncias de um evento específico para o mês de outubro e inclua apenas as propriedades Subject, Start e End de cada instância:
GET https://outlook.office.com/api/beta/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End
Obter um evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obtenha um evento por ID.
GET https://outlook.office.com/api/beta/me/events/{event_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes dos fusos horários suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, os horários de início e término retornarão para UTC.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=
Resposta de amostra
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
"Categories": [],
"CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
"LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
"Subject": "Weekly Meeting on Contoso Project",
"BodyPreview": "Setting up some time to review the budget and planning on the 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"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Location": {
"DisplayName": "Alex's Office",
},
"Locations":[
{
"DisplayName": "Alex's Office",
}
]
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SeriesMaster",
"SeriesMasterId": null,
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
}
],
"Recurrence": {
"Pattern": {
"Type": "Weekly",
"Interval": 1,
"Month": 0,
"Index": "First",
"FirstDayOfWeek": "Sunday",
"DayOfMonth": 0,
"DaysOfWeek": [
"Monday"
]
},
"RecurrenceTimeZone": "Pacific Standard Time",
"Range": {
"Type": "NoEnd",
"StartDate": "2014-10-13",
"EndDate": "2014-11-13",
"NumberOfOccurrences": 0
}
},
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"OnlineMeetingUrl": null
}
Tipo de resposta
O evento solicitado.
Observação
Por padrão, a resposta inclui todas as propriedades do evento. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
O exemplo a seguir mostra como usar $select
para especificar retornando apenas as propriedades Subject, Organizer, Start e End do evento.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End
Resposta de amostra
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"Subject": "Weekly Meeting on Contoso Project",
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
}
}
Sincronizar eventos
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Sincronize e obtenha eventos novos, atualizados ou excluídos em um intervalo de tempo especificado a partir do calendário principal do usuário (../me/calendarview
) ou de um calendário diferente. Esse conjunto de eventos em um intervalo de tempo também é conhecido como visão de calendário. Os eventos retornados podem incluir ocorrências e exceções de uma série recorrente e instâncias únicas.
A sincronização de uma visão de calendário normalmente requer uma série de duas ou mais solicitações de sincronização, cada qual definida como uma chamada GET. Para sincronizar uma visão de calendário, use o método GET da mesma forma que você obtém uma visão de calendário, com a diferença que você deve incluir determinados cabeçalhos de solicitação e deltaToken ou um skipToken quando for apropriado.
Cabeçalhos de solicitação
Você deve especificar o cabeçalho "Prefer: odata.track-changes" em todas as solicitações de sincronização, exceto naquelas que incluem um
skipToken
que é retornado de uma solicitação de sincronização anterior. Na primeira resposta, procure o cabeçalho Preference-Applied: odata.track-changes para confirmar que o recurso suporta a sincronização antes de continuar. (Mais informações sobre umskipToken
nos dados de exemplo de segunda resposta abaixo.)Você pode especificar o cabeçalho "Prefer: odata.maxpagesize={x}" para indicar o número máximo de eventos que a solicitação de sincronização retorna.
Veja uma típica série de sincronização de eventos em uma visão de calendário:
Faça a solicitação GET inicial com o cabeçalho obrigatório Prefer: odata.track-changes. A resposta inicial a uma solicitação de sincronização sempre retorna um deltaToken. (A segunda solicitação GET e as solicitações seguintes diferem da primeira solicitação GET, incluindo um deltaToken ou um skipToken recebido em uma resposta anterior.)
Se a primeira resposta retornar o cabeçalho Preference-Applied: odata.track-changes, você poderá prosseguir com a sincronização.
Faça uma segunda solicitação GET. Especifique o cabeçalho Prefer: odata.track-changes e o deltaToken retornado do primeiro GET para determinar se há algum evento adicional. A segunda solicitação retornará eventos adicionais e um skipToken se houver mais eventos disponíveis, ou um deltaToken se o último evento tiver sido sincronizado. Nesse caso, você pode parar.
Continue a sincronização enviando uma chamada GET e incluindo um skipToken retornado da chamada anterior. Pare quando você obtiver uma resposta final que contenha o cabeçalho @odata.deltaLink com um deltaToken novamente, indicando que a sincronização está concluída.
Veja a sintaxe das chamadas iniciais e subsequentes em uma série de sincronização.
Sincronizar no calendário padrão
Solicitação inicial:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Segunda ou primeira solicitação de uma série seguinte:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Terceira ou solicitação subsequente na mesma série:
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Sincronizar em um calendário específico
Solicitação inicial:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Segunda ou primeira solicitação de uma série seguinte:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Terceira ou solicitação subsequente na mesma série:
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
user_context | sequência de caracteres | O contexto do usuário. Você pode usar o valor 'me' para indicar o contexto do usuário atual. Você também pode usar o formato users/{upn}, no qual upn é o nome principal do usuário. Geralmente, é o endereço de email do usuário. |
calendar_id | sequência de caracteres | ID do calendário, se você obtiver uma visão de um calendário específico. |
start_datetime | datetimeoffset | A data e o horário em que o evento inicia. |
end_datetime | datetimeoffset | A data e o horário em que o evento termina. |
delta_token | sequência de caracteres | A sequência de caracteres deltaToken retornada como parte do valor de @odata.deltaLink na resposta de sincronização anterior. |
skip_token | sequência de caracteres | A sequência de caracteres skipToken retornada como parte do valor de @odata.nextLink na resposta de sincronização anterior. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes dos fusos horários suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, os horários de início e término retornarão para UTC.
Observação
- Ao especificar "Prefer: odata.track-changes" na solicitação inicial, se a resposta suportar a sincronização, a resposta incluirá "Preference-applied: odata.track-changes" no cabeçalho.
- Se você tentar sincronizar um recurso que não é suportado ou se essa não for a solicitação de sincronização inicial, você não verá o cabeçalho "Preference-applied" na resposta.
- Você pode alterar a janela de tempo de mudança alterando os parâmetros de consulta startdatetime e enddatetime.
- Cada evento na resposta inclui todas as suas propriedades.
- Para uma série recorrente, uma resposta de sincronização inclui todo o evento para os eventos mestre e de exceção recorrentes.
- As instâncias de uma série recorrente são abreviadas e contêm apenas as propriedades Start e End. Você pode capturar o restante das informações do evento de ocorrência do evento mestre recorrente. Consulte Recurso de evento para obter informações de referência.
- Não é possível usar os parâmetros de consulta
$filter
,$count
,$select
,$skip
,$top
, e$search
.
Tipo de resposta
Os eventos expandidos e eventos abreviados no intervalo de tempo especificado.
Exemplo
O exemplo a seguir mostra as solicitações de sincronização iniciais e secundárias para sincronizar o calendário padrão do usuário. Cada solicitação especifica o retorno de apenas um evento completo de cada vez:
- A resposta inicial retorna um evento, um
deltaLink
edeltaToken
. - A segunda solicitação usa
deltatoken
. A segunda resposta retorna um evento, umnextLink
eskipToken
.
Para concluir a sincronização, use o skipToken
retornado da solicitação de sincronização anterior até que a resposta de sincronização retorne um deltaLink
e deltaToken
. Nesse caso, esta série de sincronização está concluída. Salve o deltaToken
para a próxima série de sincronização.
Para mais informações, veja Sincronizar eventos em uma visão de calendário do Outlook.
Solicitação inicial de amostra
GET https://outlook.office.com/api/beta/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
Prefer: outlook.timezone="Pacific Standard Time"
Amostra de dados da resposta inicial
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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": {
"DateTime": "2015-04-05T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-05T19:00:00",
"TimeZone": "Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"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,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E9888E07599CCFA23",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.deltaLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
}
Amostra da segunda solicitação
GET https://outlook.office.com/api/beta/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
Prefer: outlook.timezone="Pacific Standard Time"
Amostra de dados da segunda resposta
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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": {
"DateTime": "2015-04-16T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-16T19:00:00",
"TimeZone": Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"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,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E09BB89A316862",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.nextLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}
Localizar horários de reunião
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Localizar as sugestões de hora da reunião com base no organizador e na disponibilidade dos participantes, assim como nas restrições de horário ou local especificadas como parâmetros.
Esta operação aplica-se somente às caixas de correio do Office 365 (no Azure AD) e não às contas da Microsoft.
POST https://outlook.office.com/api/{version}/me/findmeetingtimes
Todos os parâmetros suportados estão listados a seguir. Dependendo do seu cenário, especifique os parâmetros necessários no corpo da solicitação da ação FindMeetingTimes.
Parâmetro | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Participantes | Coleção (AttendeeBase) | Participantes ou recursos para a reunião. Uma coleção vazia faz com que FindMeetingTimes procure horários livres apenas para o organizador. | Opcional |
IsOrganizerOptional | Edm.Boolean | Especificar true se o organizador não tiver necessariamente que comparecer. O padrão é false . |
Opcional |
LocationConstraint | LocationConstraint | Os requisitos do organizador sobre o local da reunião, tal como se é necessário sugerir de um local de encontro, ou há locais específicos apenas onde a reunião pode ocorrer. | Opcional |
MaxCandidates | Edm.Int32 | O número máximo de sugestões de reunião a serem retornadas na resposta. | Opcional |
MeetingDuration | Edm.Duration | A duração da reunião expressa no formato ISO 8601 para durações, por exemplo, PT1H representa 1 hora. Se nenhuma duração da reunião for especificada, FindMeetingTimes usará o padrão de 30 minutos. |
Opcional |
MinimumAttendeePercentage | Edm.Double | O mínimo necessário de confiança para um intervalo de tempo a ser retornado na resposta. É um valor de % variando de 0 a 100. | Opcional |
ReturnSuggestionReasons | Edm.Boolean | Especificar true para retornar uma razão para cada sugestão de reunião na propriedade SuggestionReason. O padrão é false para não retornar essa propriedade. |
Opcional |
TimeConstraint | TimeConstraint | Qualquer restrição de tempo para uma reunião, incluindo a natureza da reunião (ActivityDomain) e possíveis períodos de reunião (TimeSlots). FindMeetingTimes pressupõe ActivityDomain como Work se você não especificar esse parâmetro. |
Opcional |
FindMeetingTimes verifica o status de disponibilidade nos calendários principais do organizador e dos participantes. Com base nos parâmetros especificados, a ação sugere os melhores horários de reunião possíveis. A tabela a seguir descreve as restrições que você pode especificar no parâmetro TimeConstraint.
Valor ActivityDomain em TimeConstraint | Sugestões de horário para reuniões |
---|---|
Trabalho | As sugestões estão dentro do horário de trabalho do usuário, que é definido na configuração do calendário do usuário e pode ser personalizado pelo usuário ou pelo administrador. O horário de trabalho padrão é de segunda a sexta, das 8h às 17h, no fuso horário definido para a caixa de correio. Este é o valor padrão se nenhuma ActivityDomain for especificada. |
Pessoal | As sugestões são dentro das horas de trabalho do usuário, e sábado e domingo. O padrão é de segunda a sexta, das 8h às 17h, na configuração de fuso horário da caixa de correio. |
Irrestrito | As sugestões podem ser todas as horas do dia, todos os dias da semana. |
Desconhecido | Não use esse valor, pois ele será preterido no futuro. No momento, comporta-se da mesma forma que Trabalho. Altere qualquer código existente para usar Trabalho, Pessoal ou Irrestrito conforme apropriado. |
Tipo de resposta
Um MeetingTimeSuggestionsResult que inclui uma coleção de sugestões de reuniões, cada uma do tipo MeetingTimeSuggestion, e uma propriedade EmptySuggestionsReason.
Cada sugestão é definida como MeetingTimeSuggestion, com os participantes tendo um nível de confiança de 50% de participação como padrão ou um percentual específico definido no parâmetro MinimumAttendeePercentage.
Por padrão, cada sugestão de horário de reunião é retornado em UTC. Aplique o cabeçalho de solicitação Prefer: outlook.timezone
para que as sugestões de horário de reunião sejam reajustadas em um fuso horário diferente, por exemplo:
Prefer: outlook.timezone="Pacific Standard Time"
Se FindMeetingTimes não puder retornar nenhuma sugestão de reunião, a resposta indicará um motivo na propriedade EmptySuggestionsReason. Com base nesse valor, você pode ajustar melhor os parâmetros e chamar FindMeetingTimes novamente.
Observação
No momento, FindMeetingTimes pressupõe que qualquer Participante que for uma pessoa (em vez de um recurso) será um participante obrigatório. Portanto, especifique Required
para uma pessoa e Resource
para um recurso na propriedade Type correspondente, como parte do parâmetro de coleção AttendTranslatedees.
Cada exemplo abaixo chama FindMeetingTimes e varia de acordo com as restrições de disponibilidade, horário e localização do participante, conforme descrito a seguir:
- Encontrar horário e local de reunião com os participantes
- Encontrar horário de reunião em um local conhecido e obter um motivo para cada sugestão
- Encontrar horário de reunião, mas nenhum participante está disponível
- Encontrar horário de reunião, mas apenas alguns participantes estão disponíveis
- Encontrar intervalos de tempo livres apenas para o usuário conectado
Encontrar horário e local de reunião com participantes específicos
Encontre horários e locais de reunião especificando os seguintes parâmetros no corpo da solicitação:
- Participantes
- TimeConstraint
- MeetingDuration
Solicitação de amostra
O exemplo a seguir sugere horários e locais de reunião levando em consideração a disponibilidade do organizador e do participante durante o horário de trabalho do intervalo de tempo de reunião solicitado e o período solicitado.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Tokyo conference room",
"LocationType": "Default"
}
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Paris conference room",
"LocationType": "Default"
}
]
}
],
"EmptySuggestionsReason": ""
}
Encontrar horário de reunião em um local conhecido e obter um motivo para cada sugestão
Encontre um horário de reunião em um local predeterminado e solicite um motivo para cada sugestão, especificando os seguintes parâmetros no corpo da solicitação:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
Ao definir o parâmetro ReturnSuggestionReasons , você também obtém uma explicação para cada sugestão na propriedade SuggestionReason, se FindMeetingTimes retornar qualquer sugestão.
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H",
"ReturnSuggestionReasons": "true"
}
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
}
],
"EmptySuggestionsReason": ""
}
Encontrar horário de reunião, mas nenhum participante está disponível
Encontrar um horário de reunião em um local predeterminado especificando os seguintes parâmetros no corpo da solicitação:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
Neste exemplo, com base em parâmetros especificados e disponibilidade do participante, FindMeetingTimes não pode retornar nenhuma sugestão e, em vez disso, retorna um motivo AttendeesUnavailable
na propriedade EmptySuggestionsReason.
Consulte outros motivos possíveis para não retornar qualquer sugestão de reunião.
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T7:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T14:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H"
}
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
],
"EmptySuggestionsReason": "AttendeesUnavailable"
}
Encontrar horário de reunião, mas apenas alguns participantes estão disponíveis
Encontrar um horário de reunião em um local predeterminado especificando os seguintes parâmetros no corpo da solicitação:
- Attendees
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
- MinimumAttendeePercentage
Neste exemplo, apenas um dos dois participantes está disponível. Cada sugestão de reunião que FindMeetingTimes retorna inclui:
- A disponibilidade de cada participante.
- Uma Confiança de reunião computada, que é o percentual médio de chance dos participantes estarem presentes. Esse valor deve atender ao requisito de 60% especificado em MinimumAttendeePercentage.
- Uma SuggestionHint, tendo em vista que o parâmetro ReturnSuggestionReasons está definido.
Encontre mais informações sobre a confiança de uma reunião.
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
{
"Type": "Optional",
"EmailAddress": {
"Name": "Dana",
"Address": "danas@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T09:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H",
"ReturnSuggestionReasons": "true",
"MinimumAttendeePercentage": "60"
}
Resposta de amostra
Código de status: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions":[
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T10:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":100.0,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
},
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":74.5,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Unknown"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
}
],
"EmptySuggestionsReason":""
}
Encontrar intervalos de tempo livres apenas para o usuário conectado
Encontre intervalos de tempo livres no calendário principal do usuário conectado em qualquer horário da semana em um intervalo de datas, especificando os seguintes parâmetros no corpo da solicitação:
- TimeConstraint
- MeetingDuration
Solicitação de amostra
Este exemplo mostra intervalos de tempo livres de uma hora, conforme especificado por MeetingDuration, no calendário principal do usuário conectado, a qualquer momento da semana em um intervalo de datas especificado por TimeConstraint.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [],
"TimeConstraint": {
"ActivityDomain":"Unrestricted",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T06:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T23:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T06:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T07:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-21T09:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-21T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-22T19:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T20:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
}
],
"EmptySuggestionsReason": ""
}
Obter salas de reunião (versão prévia)
No Outlook, um locatário pode organizar salas de reunião em listas de salas. Cada sala de reunião e lista de salas é representada por uma instância EmailAddress.
- Obter listas de salas (versão prévia)
- Obter salas (versão prévia)
Obter listas de salas (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
- User.Read.All
- User.ReadBasic.All_
Obter as listas de salas definidas em um locatário.
GET https://outlook.office.com/api/beta/me/findroomlists
Tipo de resposta
Coleção de instâncias EmailAddress. Se nenhuma lista for definida no locatário, uma matriz vazia será retornada.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/findroomlists
Resposta de amostra
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Building 1 Rooms",
"Address":"Building1Rooms@contoso.onmicrosoft.com"
},
{
"Name":"Building 2 Rooms",
"Address":"Building2Rooms@contoso.onmicrosoft.com"
}
]
}
Obter salas (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
- User.Read.All
- User.ReadBasic.All
Você pode obter todas as salas de reunião definidas no locatário do usuário ou obter as salas de reunião em uma lista específica de salas.
Observação
Essas operações retornam até as 100 primeiras salas em um locatário.
Para obter todas as salas no locatário do usuário:
GET https://outlook.office.com/api/beta/me/findrooms
Para obter as salas em uma lista de salas especificada:
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='{room_list}')
Parâmetro opcional | Tipo | Descrição |
---|---|---|
Parâmetros da função | ||
room_list | sequência de caracteres | Endereço SMTP associado à lista de salas. Cada lista de salas é representada por uma instância EmailAddress que inclui um endereço SMTP. |
Tipo de resposta
Coleção de instâncias EmailAddress.
Solicitação de amostra
O exemplo a seguir obtém as salas definidas no locatário do usuário conectado.
GET https://outlook.office.com/api/beta/me/findrooms
Resposta de amostra
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Adams",
"Address":"Adams@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Crystal",
"Address":"Crystal@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Stevens",
"Address":"Stevens@contoso.onmicrosoft.com"
},
{
"Name":"SurfaceHub",
"Address":"SurfaceHub@contoso.onmicrosoft.com"
}
]
}
Solicitação de amostra
O exemplo a seguir obtém as salas na lista de salas especificada identificada pelo endereço de email Building2Rooms@contoso.onmicrosoft.com.
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='Building2Rooms@contoso.onmicrosoft.com')
Resposta de amostra
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
}
]
}
Criar eventos
Criar um evento no calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Criar um evento no calendário principal do usuário ou em um calendário específico postando no ponto de extremidade events
do calendário. Ao criar o evento, o servidor envia convites para todos os participantes.
POST https://outlook.office.com/api/beta/me/events
POST https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário. |
Solicitação de amostra
O exemplo a seguir cria um evento para o organizador e participantes comparecerem a partir de três locais diferentes.
POST https://outlook.office.com/api/beta/me/events
Content-Type: application/json
{
"Subject": "Plan summer company picnic",
"Body": {
"ContentType": "HTML",
"Content": "Let's kick-start this event planning!"
},
"Start": {
"DateTime": "2017-06-09T11:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2017-06-09T12:00:00",
"TimeZone": "Pacific Standard Time"
},
"Attendees": [
{
"EmailAddress": {
"Address": "AdeleV@contoso.onmicrosoft.com",
"Name": "Adele Vance"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "AlexW@contoso.onmicrosoft.com",
"Name": "Alex Wilber"
},
"Type": "Required"
}
],
"Location": {
"DisplayName": "Conf Room 3; Fourth Coffee; Home Office",
"LocationType": "Default"
},
"Locations": [
{
"DisplayName": "Conf Room 3",
},
{
"DisplayName": "Fourth Coffee",
"Address": {
"Street": "4567 Main St",
"City": "Redmond",
"State": "WA",
"CountryOrRegion": "US",
"PostalCode": "32008"
},
"Coordinates": {
"Latitude": 47.672,
"Longitude": -102.103
},
"LocationType": "LocalBusiness"
},
{
"DisplayName": "Home Office",
}
]
}
Resposta de amostra
Código do status: 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNCYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNCYBXsvAAA=",
"CreatedDateTime":"2017-06-06T19:59:23.003773-07:00",
"LastModifiedDateTime":"2017-06-06T19:59:24.8432785-07:00",
"ChangeKey":"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==",
"Categories":[
],
"OriginalStartTimeZone":"Pacific Standard Time",
"OriginalEndTimeZone":"Pacific Standard Time",
"iCalUId":"040000008200E00074C5B7101A82E008000000000FD9CB103ADFD20100000000000000001000000026DB266A0E3C4A4FB15DC14FFFB1469D",
"ReminderMinutesBeforeStart":15,
"IsReminderOn":true,
"HasAttachments":false,
"Subject":"Plan summer company picnic",
"BodyPreview":"Let's kick-start this event planning!",
"Importance":"Normal",
"Sensitivity":"Normal",
"IsAllDay":false,
"IsCancelled":false,
"IsOrganizer":true,
"ResponseRequested":true,
"SeriesMasterId":null,
"ShowAs":"Busy",
"Type":"SingleInstance",
"WebLink":"https://outlook.office365.com/owa/?itemid=AAMkADNCYBXsvAAA%3D&exvsurl=1&path=/calendar/item",
"OnlineMeetingUrl":null,
"ResponseStatus":{
"Response":"Organizer",
"Time":"0001-01-01T00:00:00Z"
},
"Body":{
"ContentType":"HTML",
"Content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
},
"Start":{
"DateTime":"2017-06-09T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2017-06-09T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Recurrence":null,
"Attendees":[
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Adele Vance",
"Address":"AdeleV@contoso.onmicrosoft.com"
}
},
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Alex Wilber",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
],
"Organizer":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"OnlineMeeting":null
}
Tipo de resposta
O novo evento.
Por padrão, a resposta inclui todas as propriedades do novo evento. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada.
A seguir, veja um exemplo que inclui apenas as propriedades Start e End do novo evento na resposta.
POST https://outlook.office.com/api/beta/me/events?$Select=Start,End
Atualizar eventos
Atualizar um evento do calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Altere um evento. Apenas as propriedades especificadas são alteradas. Se o usuário for o organizador, o servidor enviará atualizações de reunião para todos os participantes.
PATCH https://outlook.office.com/api/beta/me/events/{event_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Especificar qualquer propriedade de evento gravável no corpo da solicitação.
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE1MFKPQWAAA=?$select=Location
Solicitação de amostra
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json
{
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
}
}
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
"Id": "AAMkAGE0M4v1OAAA=",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
"Categories": [],
"CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
"LastModifiedDateTime": "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": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
},
"Locations":[
{
"DisplayName":"Conference Rome",
"LocationType":"ConferenceRoom"
}
],
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "alexd"
}
},
"OnlineMeetingUrl": null
}
Tipo de resposta
O evento atualizado. Se o usuário for o organizador, o servidor enviará atualizações de reunião para todos os participantes.
Por padrão, a resposta inclui todas as propriedades do evento atualizado. Usar $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada.
Responder a eventos
Aceitar o evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Aceitar o evento especificado.
POST https://outlook.office.com/api/beta/me/events/{event_id}/accept
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. Obrigatório. |
Parâmetros de corpo | ||
Comentário | sequência de caracteres | Texto incluído na resposta. Opcional. |
SendResponse | booleano | true se uma resposta deve ser enviada ao organizador; caso contrário, false . Opcional. O padrão é true . |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept
Content-Type: application/json
{
"Comment": "Great idea!",
"SendResponse": "true"
}
Resposta
Uma resposta bem-sucedida é indicada por um código de resposta aceita HTTP 202.
Aceitar provisoriamente o evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Aceitar provisoriamente o evento especificado.
POST https://outlook.office.com/api/beta/me/events/{event_id}/tentativelyaccept
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. Obrigatório. |
Parâmetros de corpo | ||
Comentário | sequência de caracteres | Texto incluído na resposta. Opcional. |
SendResponse | booleano | true se uma resposta deve ser enviada ao organizador; caso contrário, false . Opcional. O padrão é true . |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept
Content-Type: application/json
{
"Comment": "I'll confirm later!",
"SendResponse": "true"
}
Resposta
Uma resposta bem-sucedida é indicada por um código de resposta aceita HTTP 202.
Recusar o evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Recusar o convite para o evento especificado.
POST https://outlook.office.com/api/beta/me/events/{event_id}/decline
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. Obrigatório. |
Parâmetros de corpo | ||
Comentário | sequência de caracteres | Texto incluído na resposta. Opcional. |
SendResponse | booleano | true se uma resposta deve ser enviada ao organizador; caso contrário, false . Opcional. O padrão é true . |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline
Content-Type: application/json
{
"Comment": "Sorry, maybe next time!",
"SendResponse": "true"
}
Resposta
Uma resposta bem-sucedida é indicada por um código de resposta aceita HTTP 202.
Encaminhar eventos (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Esta ação permite que o organizador ou o participante de um evento de reunião encaminhe a solicitação de reunião ao novo destinatário.
Se o evento da reunião for encaminhado de uma caixa de correio do Office 365 para outro destinatário, essa ação também enviará uma mensagem para notificar o organizador do encaminhamento e adicionará o destinatário à cópia do organizador do evento da reunião. Essa conveniência não está disponível no encaminhamento de uma conta do Outlook.com.
POST https://outlook.office.com/api/beta/me/events('{event_id}')/forward
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Parâmetros de corpo | ||
Comentário | sequência de caracteres | Um comentário a incluir. Não pode ser uma sequência de caracteres vazia. |
ToRecipients | Coleção (Destinatário) | A lista de destinatários para os quais o evento será encaminhado. |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/events('AQMkADJmMTU4AAAA=')/forward
Content-Type: application/json
{
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
],
"Comment": "Dana, hope you can make this meeting."
}
Resposta de amostra
Status code: 202 Accepted
Excluir eventos
Excluir um evento do calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Mova um evento para a pasta Itens Excluídos do usuário conectado. Se o evento for uma reunião e o usuário conectado for o organizador, o servidor enviará cancelamentos a todos os participantes.
Esta ação é diferente de Cancelar, sendo que Excluir está disponível para o organizador e os participantes da reunião. Se o usuário conectado for o organizador da reunião, o usuário simplesmente cancelará a reunião sem enviar uma mensagem de cancelamento personalizada aos participantes.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Solicitação de amostra
DELETE https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Resposta de amostra
Status code: 204
Cancelar eventos (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Esta ação permite que o organizador de uma reunião envie uma mensagem de cancelamento e cancele o evento.
A ação move o evento para a pasta Itens Excluídos. O organizador também pode cancelar uma ocorrência de uma reunião recorrente fornecendo a ID do evento de ocorrência. Um participante que chama essa ação recebe um erro (HTTP 400 Solicitação incorreta), com a seguinte mensagem de erro:
"Não é possível concluir sua solicitação. Você precisa ser um organizador para cancelar uma reunião. "
Esta ação é diferente de Excluir, sendo que Cancelar está disponível apenas para o organizador e permite que o organizador envie uma mensagem personalizada aos participantes sobre o cancelamento.
POST https://outlook.office.com/api/beta/me/events/{event_id}/Cancel
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Parâmetros de corpo | ||
Comentário | sequência de caracteres | Um comentário sobre o cancelamento enviado a todos os participantes. |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=/Cancel
Content-Type: application/json
{
"Comment": "Cancelling this meeting as there is a time conflict for most folks."
}
Resposta de amostra
Status code: 202
Obter anexos
Você pode obter uma coleção de anexos ou um único anexo.
Obter uma coleção de anexos
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obtenha os anexos de um evento específico.
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Tipo de resposta
Uma coleção de anexos que pode ser do tipo FileAttachment, ItemAttachment ou ReferenceAttachment.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2NGTG9yAAA=/attachments
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "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=="
}
]
}
Obter um anexo
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter um anexo de um evento específico.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
attachment_id | sequência de caracteres | A ID do anexo. |
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Tipo de resposta
O anexo de arquivo, anexo de item ou anexo de referência solicitado.
Solicitação de amostra
O exemplo a seguir obtém o arquivo anexado a um evento específico.
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "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=="
}
Amostra de solicitação (anexo de referência)
O exemplo a seguir obtém o anexo de referência de um evento.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments('AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=')
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
Amostra de solicitação ($expand em anexos)
O exemplo a seguir obtém e expande os dois anexos de referência em linha com as propriedades do evento.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
"@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
"id": "AAMkAGE1Mbs88AADggYEcAAA=",
"createdDateTime": "2016-03-22T22:19:58.1359352Z",
"lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
"changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
"categories": [
],
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": true,
"subject": "Plan Easter egg hunt!",
"body": {
"contentType": "html",
"content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
},
"bodyPreview": "Let's get organized for this weekend's gathering.",
"importance": "normal",
"sensitivity": "normal",
"start": {
"dateTime": "2016-03-26T17:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2016-03-26T18:00:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"address": {
"type": "unknown"
},
"coordinates": {
}
},
"locations": [
],
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"recurrence": null,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"attendees": [
{
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required",
"emailAddress": {
"name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "Dana Swope",
"address": "danas@contoso.onmicrosoft.com"
}
},
"webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"onlineMeetingUrl": null,
"attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
"attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
"lastModifiedDateTime": "2016-03-22T22:39:09Z",
"name": "Koala picture",
"contentType": null,
"size": 382,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
]
}
Código de status: 200
O exemplo a seguir obtém um item de anexo aninhado.
GET https://outlook-sdf.office.com/api/beta/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Resposta de amostra
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
Criar anexos
Você pode criar um anexo de arquivo ou criar um anexo de item para um evento.
Criar um anexo de arquivo
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Adicionar um anexo de arquivo a um evento.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Parâmetros de corpo | ||
@odata.type | sequência de caracteres | #Microsoft.OutlookServices.FileAttachment |
Nome | sequência de caracteres | O nome do anexo. |
ContentBytes | binário | O arquivo a ser anexado. |
Tipo de resposta
O novo anexo de arquivo.
Criar um anexo de item
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Adicionar um anexo de item a um evento.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
Parâmetros de corpo | ||
@odata.type | sequência de caracteres | #Microsoft.OutlookServices.ItemAttachment |
Nome | sequência de caracteres | O nome do anexo. |
Item | Uma entidade Mensagem, Evento ou Contato. | O item a ser anexado. |
Tipo de resposta
O novo anexo de item.
Criar um anexo de referência
Escopo mínimo necessário
https://outlook.office.com/calendars.readwrite
Adicionar um anexo de referência a um evento.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | Sequência de caracteres | ID do evento. |
Parâmetros de corpo | ||
@odata.type | Sequência de caracteres | #Microsoft.OutlookServices.ReferenceAttachment |
Nome | Sequência de caracteres | O nome de exibição do anexo. Obrigatório. |
SourceUrl | Sequência de caracteres | URL para obter o conteúdo do anexo. Se este for um URL para uma pasta, para que a pasta seja exibida corretamente no Outlook ou Outlook na Web, defina IsFolder como verdadeiro. Obrigatório. |
Especificar os parâmetros Name e SourceUrl e qualquer propriedade gravável do anexo de referência no corpo da solicitação.
Tipo de resposta
Solicitação de amostra
O exemplo a seguir adiciona um anexo de referência a um evento existente. O anexo é um link para um arquivo do OneDrive for Business.
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Resposta de amostra
Código do status: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"LastModifiedDateTime": "2016-03-22T22:27:20Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
Excluir anexos
Excluir um anexo de evento
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Exclua o anexo especificado de um evento. O anexo pode ser um anexo de arquivo, anexo de item ou anexo de referência.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
event_id | sequência de caracteres | ID do evento. |
attachment_id | sequência de caracteres | A ID do anexo. |
Solicitação de amostra
DELETE https:/outlook.office.com/api/beta/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=
Resposta de amostra
Status code: 204
Obter lembretes
Obter uma lista de lembretes de eventos entre duas datas e horários de um calendário.
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
GET https://outlook.office.com/api/beta/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Preferir: | outlook.timezone | O fuso horário padrão para eventos na resposta. |
Parâmetros de URL | ||
StartDateTime | sequência de caracteres | A data e o horário de início dos lembretes retornados. |
EndDateTime | sequência de caracteres | A data e o horário de término dos lembretes retornados. |
Use o cabeçalho Prefer: outlook.timezone para especificar o fuso horário a ser usado para os horários de início e término do evento na resposta. Se o evento foi criado em um fuso horário diferente, os horários de início e término serão ajustados para o fuso horário especificado.
Confira esta lista para ver os nomes de fuso horário suportados. Se o cabeçalho Prefer: outlook.timezone não estiver especificado, o fuso horário será definido como UTC.
Adiar lembretes
Adiar um lembrete até um novo horário.
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/Events('{id}')/SnoozeReminder
Parâmetros obrigatórios | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
id | sequência de caracteres | A ID do evento. |
Parâmetros de corpo | ||
NewReminderTime | DateTimeTimeZone | A nova data e hora para disparar o lembrete. |
Ignorar lembretes
Ignorar um lembrete acionado.
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/Events({id})/DismissReminder
Parâmetros obrigatórios | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
id | sequência de caracteres | A ID do evento. |
Obter calendários
Você pode obter uma coleção de calendários ou obter um calendário.
Obter uma coleção de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter todos os calendários do usuário (calendars
) ou obter os calendários de um grupo de calendários específico.
GET https://outlook.office.com/api/beta/me/calendars
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calender_group_id | sequência de caracteres | ID do grupo de calendários. |
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/calendars
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"IsDefaultCalendar": true,
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
]
}
Obter um calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter um calendário por ID. Você pode obter o calendário principal do usuário usando o ponto de extremidade ../me/calendar
.
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário. |
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/calendars/AAMkAGI2TGuLAAA=
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"IsDefaultCalendar": true,
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Tipo de resposta
O calendário solicitado.
Criar calendários
Criar um calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Crie um calendário no grupo de calendários padrão usando o atalho ../me/calendars
ou em um determinado grupo de calendários ao publicar no ponto de extremidade calendars
do grupo.
POST https://outlook.office.com/api/beta/me/calendars
POST https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calender_group_id | sequência de caracteres | ID do grupo de calendários, se você estiver obtendo calendários de um grupo específico. |
Parâmetros de corpo | ||
Nome | sequência de caracteres | O nome do novo calendário. |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/calendars
Content-Type: application/json
{
"Name": "Volunteer"
}
Resposta de amostra
Código do status: 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Volunteer",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Tipo de resposta
O novo calendário.
Atualizar calendários
Atualizar um calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Altere as propriedades graváveis de um calendário.
PATCH https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário. |
Solicitação de amostra
PATCH https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json
{
"Name": "Social events"
}
Resposta de amostra
Código de status: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Social events",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Tipo de resposta
O calendário atualizado.
Excluir calendários
Excluir um calendário
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
DELETE https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_id | sequência de caracteres | ID do calendário. |
Solicitação de amostra
DELETE https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Resposta de amostra
Status code: 204
Obter grupos de calendários
Você pode obter uma coleção de grupos de calendários ou obter um grupo calendários.
Observação
O Outlook.com tem suporte apenas para o grupo de calendários padrão que é acessível pelo atalho ../me/calendars
.
Obter uma coleção de grupos de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter os grupos de calendários em uma caixa de correio.
GET https://outlook.office.com/api/beta/me/calendargroups
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/calendargroups
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
"Id": "AAMkAGI2TGuMAAA=",
"Name": "Other Calendars",
"ClassId": "0006f0b8-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
}
]
}
Tipo de resposta
A coleção de grupos de calendários solicitada.
Obter um grupo de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
Obter um grupo de calendários por ID.
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_group_id | sequência de caracteres | ID do grupo de calendários. |
Solicitação de amostra
GET https://outlook.office.com/api/beta/me/calendargroups/AAMkAGI2TGuKAAA=
Resposta de amostra
Código de status: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}
Tipo de resposta
O grupo de calendários solicitado.
Criar grupos de calendários
Criar um grupo de calendários. Name é a única propriedade gravável para um grupo de calendários.
Observação
O Outlook.com tem suporte apenas para o grupo de calendários padrão que é acessível pelo atalho ../me/calendars
. Você não pode criar outro grupo de calendários no Outlook.com.
Criar um grupo de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
POST https://outlook.office.com/api/beta/me/calendargroups
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetro de URL | ||
Parâmetros de corpo | ||
Nome | sequência de caracteres | O nome do grupo de calendários. |
Solicitação de amostra
POST https://outlook.office.com/api/beta/me/calendargroups
Content-Type: application/json
{
"Name": "Birthdays"
}
Resposta de amostra
Código do status: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
"Id": "AAMkAGE0M4xLGAAA=",
"Name": "Birthdays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Tipo de resposta
O novo grupo de calendários.
Atualizar grupos de calendários
Atualizar um grupo de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
Altere o nome de um grupo de calendários. Name é a única propriedade gravável do grupo de calendários.
PATCH https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_group_id | sequência de caracteres | ID do grupo de calendários. |
Parâmetros de corpo | ||
Nome | sequência de caracteres | O nome do grupo de calendários atualizado. |
Solicitação de amostra
PATCH https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json
{
"Name": "Holidays"
}
Resposta de amostra
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
"Id": "AAMkAGE0MGM4xLGAAA=",
"Name": "Holidays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Tipo de resposta
O grupo de calendários atualizado.
Excluir grupos de calendários
Observação
O Outlook.com tem suporte apenas para o grupo de calendários padrão que é acessível pelo atalho ../me/calendars
. Não excluir este grupo de calendários.
Excluir um grupo de calendários
Escopo mínimo necessário
Uma das seguintes opções:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_update
- wl.events_create
DELETE https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros de URL | ||
calendar_group_id | sequência de caracteres | ID do grupo de calendários. |
Solicitação de amostra
DELETE https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0MGM4xLGAAA=
Resposta de amostra
Status code: 204
Próximas etapas
Se você estiver pronto para começar a criar um aplicativo ou apenas quiser aprender mais, temos tudo o que você precisa.
- Introdução a APIs REST de Email, Calendário e Contatos.
- Quer exemplos? Nós temos.
Se preferir, aprenda mais sobre como usar a plataforma do Office 365:
- API REST do Outlook no Centro de Desenvolvimento do Outlook
- Visão geral sobre desenvolvimento na plataforma do Office 365
- Autenticação de aplicativo do Office 365 e autorização de recursos
- Registrar manualmente seu aplicativo no Azure AD para que ele possa acessar as APIs do Office 365
- Referência da API de Email
- Referência da API de Contatos
- API REST de Atribuições (versão prévia)
- API do OneDrive
- Referência de operações da API REST do Serviço de Descoberta
- Referência de recurso para as APIs REST de Email, Calendário, Contatos e Tarefa