Events: update

Atualiza um evento. Esse método não oferece suporte à semântica de patch e sempre atualiza todo o recurso de evento. Para fazer uma atualização parcial, execute uma get seguida por uma update usando Etags para garantir a atomicidade. Faça um teste agora ou veja um exemplo.

Solicitação

Solicitação HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de caminho
calendarId string Identificador da agenda. Para recuperar IDs da agenda, chame o método calendarList.list. Se você quiser acessar a agenda principal do usuário conectado, use a palavra-chave "primary".
eventId string Identificador do evento.
Parâmetros de consulta opcionais
alwaysIncludeEmail boolean Obsoleto e ignorado. Um valor é sempre retornado no campo email para o organizador, o criador e os participantes, mesmo que nenhum endereço de e-mail real esteja disponível (por exemplo, será fornecido um valor gerado que não funciona).
conferenceDataVersion integer Número da versão dos dados de conferência com suporte do cliente da API. A versão 0 não é compatível com dados de conferência e ignora os dados da conferência no corpo do evento. A versão 1 permite a cópia de ConferenceData, bem como para a criação de novas conferências usando o campo createRequest de subscriptionData. O padrão é 0. Os valores aceitáveis são de 0 a 1, inclusive.
maxAttendees integer O número máximo de participantes a serem incluídos na resposta. Se houver mais do que o número especificado de participantes, somente o participante será retornado. Opcional.
sendNotifications boolean Obsoleto. Use sendUpdates.

Se você quer enviar notificações sobre a atualização do evento (por exemplo, mudanças na descrição etc.). Alguns e-mails ainda poderão ser enviados mesmo que você defina o valor como false. O padrão é false.
sendUpdates string Convidados que devem receber notificações sobre a atualização do evento (por exemplo, alterações de título etc.).

Os valores aceitáveis são:
  • "all": as notificações foram enviadas para todos os convidados.
  • "externalOnly": as notificações são enviadas apenas para os convidados que não usam o Google Agenda.
  • "none": nenhuma notificação é enviada. Para tarefas de migração de agendas, use o método Events.import.
supportsAttachments boolean Se o cliente da API que executa a operação oferece suporte a anexos de eventos. Opcional. O valor padrão é falso.

Autorização

Esta solicitação requer autorização com pelo menos um dos seguintes escopos:

Escopo
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Para mais informações, consulte a página de autenticação e autorização.

Corpo da solicitação

No corpo da solicitação, informe um recurso "Events" com as seguintes propriedades:

Nome da propriedade Valor Descrição Observações
Propriedades obrigatórias
end nested object O horário de término (exclusivo) do evento. Para um evento recorrente, esse é o horário de término da primeira instância.
start nested object O horário de início (inclusive) do evento. Para um evento recorrente, esse é o horário de início da primeira instância.
Propriedades opcionais
anyoneCanAddSelf boolean Se qualquer pessoa pode convidar a si mesma para o evento (descontinuado). Opcional. O valor padrão é falso. gravável
attachments[].fileUrl string Link de URL para o anexo.

Para adicionar anexos de arquivo do Google Drive, use o mesmo formato da propriedade alternateLink do recurso Files na API Drive.

Obrigatório ao adicionar um anexo.

gravável
attendees[] list Os participantes do evento. Consulte o guia Eventos com participantes para mais informações sobre como agendar eventos com outros usuários da agenda. As contas de serviço precisam usar a delegação de autoridade em todo o domínio para preencher a lista de participantes. gravável
attendees[].additionalGuests integer Número de hóspedes extras. Opcional. O padrão é 0. gravável
attendees[].comment string O comentário da resposta do convidado. Opcional. gravável
attendees[].displayName string O nome do convidado, se disponível. Opcional. gravável
attendees[].email string O endereço de e-mail do convidado, se disponível. Este campo precisa estar presente ao adicionar um convidado. Precisa ser um endereço de e-mail válido de acordo com o RFC5322.

Obrigatório ao adicionar um convidado.

gravável
attendees[].optional boolean Indica se este é um participante opcional. Opcional. O valor padrão é falso. gravável
attendees[].resource boolean Se o convidado é um recurso. Só pode ser definido quando o participante é adicionado ao evento pela primeira vez. As modificações subsequentes serão ignoradas. Opcional. O valor padrão é falso. gravável
attendees[].responseStatus string Status de resposta do convidado. Os valores possíveis são:
  • "needsAction": o participante não respondeu ao convite (recomendado para novos eventos).
  • "declined": o convidado recusou o convite.
  • "tentative": o convidado aceitou o convite provisoriamente.
  • "accepted": o convidado aceitou o convite.
gravável
attendeesOmitted boolean Indica se os participantes foram omitidos da representação do evento. Ao recuperar um evento, isso pode ser devido a uma restrição especificada pelo parâmetro de consulta maxAttendee. Ao atualizar um evento, essa opção só pode ser usada para atualizar a resposta do participante. Opcional. O valor padrão é falso. gravável
colorId string A cor do evento. Esse é um ID que se refere a uma entrada na seção event da definição de cores (consulte o endpoint de cores). Opcional. gravável
conferenceData nested object As informações relacionadas à videoconferência, como os detalhes de uma videoconferência do Google Meet. Para criar novos detalhes da videoconferência, use o campo createRequest. Para manter suas mudanças, defina o parâmetro de solicitação conferenceDataVersion como 1 para todas as solicitações de modificação de eventos. gravável
description string É a descrição do evento. Pode conter HTML. Opcional. gravável
end.date date A data, no formato "aaaa-mm-dd", se for um evento de dia inteiro. gravável
end.dateTime datetime A hora, como um valor combinado de data-hora (formatado de acordo com RFC3339). Um ajuste de fuso horário é necessário, a menos que um fuso horário seja explicitamente especificado em timeZone. gravável
end.timeZone string É o fuso horário especificado. (Formatado como um nome do banco de dados de fuso horário da IANA, por exemplo, "Europa/Zurique"). Para eventos recorrentes, este campo é obrigatório e especifica o fuso horário para o qual a recorrência é expandida. Para eventos únicos, este campo é opcional e indica um fuso horário personalizado para o início/término do evento. gravável
extendedProperties.private object Propriedades particulares para a cópia do evento que aparece nessa agenda. gravável
extendedProperties.shared object Propriedades compartilhadas entre cópias do evento nas agendas de outros participantes. gravável
focusTimeProperties nested object Dados de eventos "Horário de concentração". Obrigatório se eventType for focusTime. gravável
gadget.display string O modo de exibição do gadget. Obsoleto. Os valores possíveis são:
  • "icon": o gadget é exibido ao lado do título do evento na visualização da agenda.
  • "chip": o gadget é exibido quando o evento é clicado.
gravável
gadget.height integer A altura do gadget em pixels. A altura precisa ser um número inteiro maior que zero. Opcional. Obsoleto. gravável
gadget.preferences object Preferências. gravável
gadget.title string O título do gadget. Obsoleto. gravável
gadget.type string O tipo de gadget. Obsoleto. gravável
gadget.width integer A largura do gadget em pixels. A largura precisa ser um número inteiro maior que zero. Opcional. Obsoleto. gravável
guestsCanInviteOthers boolean Se participantes que não sejam o organizador podem convidar outras pessoas para o evento. Opcional. O padrão é "True". gravável
guestsCanModify boolean Se outros participantes que não sejam o organizador podem modificar o evento. Opcional. O valor padrão é falso. gravável
guestsCanSeeOtherGuests boolean Se outros participantes além do organizador podem ver quem são os participantes do evento. Opcional. O padrão é "True". gravável
location string Localização geográfica do evento, como texto em formato livre. Opcional. gravável
originalStartTime.date date A data, no formato "aaaa-mm-dd", se for um evento de dia inteiro. gravável
originalStartTime.dateTime datetime A hora, como um valor combinado de data-hora (formatado de acordo com RFC3339). Um ajuste de fuso horário é necessário, a menos que um fuso horário seja explicitamente especificado em timeZone. gravável
originalStartTime.timeZone string É o fuso horário especificado. (Formatado como um nome do banco de dados de fuso horário da IANA, por exemplo, "Europa/Zurique"). Para eventos recorrentes, este campo é obrigatório e especifica o fuso horário para o qual a recorrência é expandida. Para eventos únicos, este campo é opcional e indica um fuso horário personalizado para o início/término do evento. gravável
outOfOfficeProperties nested object Dados de eventos fora do escritório Obrigatório se eventType for outOfOffice. gravável
recurrence[] list Lista de linhas RRULE, EXRULE, RDATE e EXDATE para um evento recorrente, conforme especificado em RFC5545. As linhas DTSTART e DTEND não são permitidas nesse campo. Os horários de início e término do evento são especificados nos campos start e end. Esse campo é omitido para eventos únicos ou instâncias de eventos recorrentes. gravável
reminders.overrides[] list Se o evento não usar os lembretes padrão, isto lista os lembretes específicos do evento ou, se não definido, indica que não há lembretes definidos para o evento. O número máximo de lembretes de substituição é 5. gravável
reminders.overrides[].method string O método usado pelo lembrete. Os valores possíveis são:
  • "email": os lembretes são enviados por e-mail.
  • "popup": os lembretes são enviados em um pop-up da IU.

Obrigatório ao adicionar um lembrete.

gravável
reminders.overrides[].minutes integer Número de minutos antes do início do evento em que o lembrete deve ser acionado. Os valores válidos estão entre 0 e 40320 (4 semanas em minutos).

Obrigatório ao adicionar um lembrete.

gravável
reminders.useDefault boolean Define se os lembretes padrão da agenda se aplicam ao evento. gravável
sequence integer Número de sequência de acordo com o iCalendar. gravável
source.title string O título da fonte. Por exemplo, o título de uma página da Web ou o assunto de um e-mail. gravável
source.url string URL da origem que aponta para um recurso. O esquema de URL precisa ser HTTP ou HTTPS. gravável
start.date date A data, no formato "aaaa-mm-dd", se for um evento de dia inteiro. gravável
start.dateTime datetime A hora, como um valor combinado de data-hora (formatado de acordo com RFC3339). Um ajuste de fuso horário é necessário, a menos que um fuso horário seja explicitamente especificado em timeZone. gravável
start.timeZone string É o fuso horário especificado. (Formatado como um nome do banco de dados de fuso horário da IANA, por exemplo, "Europa/Zurique"). Para eventos recorrentes, este campo é obrigatório e especifica o fuso horário para o qual a recorrência é expandida. Para eventos únicos, este campo é opcional e indica um fuso horário personalizado para o início/término do evento. gravável
status string Status do evento. Opcional. Os valores possíveis são:
  • "confirmed": o evento foi confirmado. Esse é o status padrão.
  • "tentative": o evento foi confirmado temporariamente.
  • "cancelled": o evento foi cancelado (excluído). O método list retorna eventos cancelados somente na sincronização incremental (quando syncToken ou updatedMin são especificados) ou se a sinalização showDeleted está definida como true. O método get sempre as retorna.

    Um status cancelado representa dois estados diferentes, dependendo do tipo de evento:

    1. As exceções canceladas de um evento recorrente não cancelado indicam que essa instância não deve mais ser apresentada ao usuário. Os clientes devem armazenar esses eventos durante todo o ciclo de vida do evento recorrente pai.

      Só é garantido que as exceções canceladas tenham valores preenchidos nos campos id, recurringEventId e originalStartTime. Os outros campos podem estar vazios.

    2. Todos os outros eventos cancelados representam eventos excluídos. Os clientes devem remover as cópias sincronizadas localmente. Esses eventos cancelados vão desaparecer com o tempo, então não espere que eles fiquem disponíveis indefinidamente.

      Os eventos excluídos só têm a garantia de que o campo id será preenchido.

    Na agenda do organizador, os eventos cancelados continuam a expor detalhes (resumo, local etc.) para que possam ser restaurados (com a exclusão cancelada). Da mesma forma, os eventos para os quais o usuário foi convidado e que ele removeu manualmente continuam fornecendo detalhes. No entanto, as solicitações de sincronização incremental com showDeleted definido como falso não vão retornar esses detalhes.

    Se um evento mudar o organizador (por exemplo, por meio da operação move) e o organizador original não estiver na lista de participantes, ele será cancelado. Nesse caso, somente o campo id será preenchido.

gravável
summary string Título do evento. gravável
transparency string Indica se o evento bloqueia o tempo na agenda. Opcional. Os valores possíveis são:
  • "opaque": valor padrão. O evento bloqueia o horário na agenda. Isso equivale a configurar Mostrar-me como como Ocupado na IU do Google Agenda.
  • "transparent": o evento não bloqueia o horário na agenda. Isso equivale a configurar Mostrar como como Disponível na IU do Google Agenda.
gravável
visibility string Visibilidade do evento. Opcional. Os valores possíveis são:
  • "default": usa a visibilidade padrão para eventos na agenda. Esse é o valor padrão.
  • "public": o evento é público, e os detalhes ficam visíveis para todos os leitores da agenda.
  • "private": o evento é privado, e apenas os participantes podem ver os detalhes.
  • "confidential": o evento é particular. Esse valor é fornecido por motivos de compatibilidade.
gravável
workingLocationProperties nested object Dados de eventos de local de trabalho. gravável
workingLocationProperties.customLocation object Se presente, especifica que o usuário está trabalhando em um local personalizado. gravável
workingLocationProperties.customLocation.label string Um rótulo extra opcional para mais informações. gravável
workingLocationProperties.homeOffice any value Se estiver presente, especifica que o usuário está trabalhando em casa. gravável
workingLocationProperties.officeLocation object Se presente, especifica que o usuário está trabalhando em um escritório. gravável
workingLocationProperties.officeLocation.buildingId string Um identificador de edifício opcional. Isso deve fazer referência a um ID de edifício no banco de dados de Recursos da organização. gravável
workingLocationProperties.officeLocation.deskId string Um identificador de espaço de trabalho opcional. gravável
workingLocationProperties.officeLocation.floorId string Um identificador de andar opcional. gravável
workingLocationProperties.officeLocation.floorSectionId string Um identificador opcional da seção do andar. gravável
workingLocationProperties.officeLocation.label string O nome do escritório que é exibido nos clientes do Google Agenda para Web e dispositivos móveis. Recomendamos que você consulte o nome de um edifício no banco de dados de Recursos da organização. gravável
workingLocationProperties.type string Tipo de local de trabalho. Os valores possíveis são:
  • "homeOffice": o usuário está trabalhando em casa.
  • "officeLocation": o usuário está trabalhando em um escritório.
  • "customLocation": o usuário está trabalhando em um local personalizado.
Todos os detalhes são especificados em um subcampo com o nome especificado, mas esse campo poderá ficar ausente se estiver vazio. Todos os outros campos são ignorados.

Obrigatório ao adicionar propriedades de local de trabalho.

gravável

Resposta

Se for bem-sucedido, esse método retornará um recurso Eventos no corpo da resposta.

Exemplos

Observação: os exemplos de código disponíveis para esse método não representam todas as linguagens de programação compatíveis. Consulte a página de bibliotecas cliente para ver uma lista de linguagens compatíveis.

Java

Usa a biblioteca cliente de Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Usa a biblioteca cliente de Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Usa a biblioteca cliente de PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Raquel

Usa a biblioteca de cliente do Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.