Actualiza un evento. Este método no admite semánticas de parches y siempre actualiza todo el recurso del evento. Para realizar una actualización parcial, realiza un get
seguido de una update
con ETag para garantizar la atomicidad.
Pruébalo ahora o ve un ejemplo.
Solicitud
Solicitud HTTP
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
Parámetros
Nombre del parámetro | Valor | Descripción |
---|---|---|
Parámetros de ruta de acceso | ||
calendarId |
string |
Es el identificador del calendario. Para recuperar los ID de calendario, llama al método calendarList.list. Si quieres acceder al calendario principal del usuario actual, usa la palabra clave “primary ”.
|
eventId |
string |
Es el identificador del evento. |
Parámetros de consulta opcionales | ||
alwaysIncludeEmail |
boolean |
Se ignoró y dejó de estar disponible. Siempre se mostrará un valor en el campo email para el organizador, el creador y los asistentes, incluso si no hay una dirección de correo electrónico real disponible (es decir, se proporcionará un valor generado que no funcione).
|
conferenceDataVersion |
integer |
Número de versión de los datos de conferencia que admite el cliente de la API. La versión 0 no supone que se admiten datos de conferencia y, además, ignora los datos de conferencia en el cuerpo del evento. La versión 1 habilita la compatibilidad con la copia de ConferenceData y también para la creación de nuevas conferencias mediante el campo createRequest deferenceData. El valor predeterminado es 0.
Los valores aceptables son 0 a 1 , ambos inclusive.
|
maxAttendees |
integer |
Indica la cantidad máxima de asistentes que se deben incluir en la respuesta. Si la cantidad de asistentes supera la cantidad especificada, solo se devolverá al participante. Opcional. |
sendNotifications |
boolean |
Ya no está disponible. En su lugar, usa sendUpdates. Indica si se debe enviar notificaciones sobre la actualización del evento (por ejemplo, cambios en la descripción, etcétera). Ten en cuenta que es posible que algunos correos electrónicos se envíen incluso si configuras el valor como false . El valor predeterminado es false .
|
sendUpdates |
string |
Invitados que deben recibir notificaciones sobre la actualización del evento (por ejemplo, cambios de título, etcétera)
Los valores aceptables son los siguientes:
|
supportsAttachments |
boolean |
Indica si el cliente de API que realiza la operación admite adjuntos de eventos. Opcional. El valor predeterminado es False. |
Autorización
Esta solicitud requiere autorización con al menos uno de los siguientes alcances:
Permiso |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
Para obtener más información, consulta la página de autenticación y autorización.
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporciona un recurso de eventos con las siguientes propiedades:
Nombre de la propiedad | Valor | Descripción | Notas |
---|---|---|---|
Propiedades obligatorias | |||
end |
nested object |
La hora de finalización (exclusiva) del evento. En el caso de un evento recurrente, esta es la hora de finalización de la primera instancia. | |
start |
nested object |
La hora de inicio (incluida) del evento En el caso de un evento recurrente, esta es la hora de inicio de la primera instancia. | |
Propiedades opcionales | |||
anyoneCanAddSelf |
boolean |
Indica si alguien puede invitarse a sí mismo al evento (obsoleto). Opcional. El valor predeterminado es False. | admite escritura |
attachments[].fileUrl |
string |
vínculo de URL al archivo adjunto. Para agregar archivos adjuntos de Google Drive, usa el mismo formato que en la propiedad Obligatorio cuando se agrega un archivo adjunto. |
admite escritura |
attendees[] |
list |
Los asistentes del evento. Consulta la guía Eventos con asistentes para obtener más información sobre cómo programar eventos con otros usuarios de calendario. Las cuentas de servicio deben usar la delegación de autoridad de todo el dominio para propagar la lista de asistentes. | admite escritura |
attendees[].additionalGuests |
integer |
Cantidad de invitados adicionales Opcional. El valor predeterminado es 0. | admite escritura |
attendees[].comment |
string |
Comentario en la respuesta del asistente. Opcional. | admite escritura |
attendees[].displayName |
string |
Nombre del asistente, si está disponible. Opcional. | admite escritura |
attendees[].email |
string |
La dirección de correo electrónico del asistente, si está disponible Este campo debe estar presente cuando se agregue un asistente. Debe ser una dirección de correo electrónico válida según RFC5322. Obligatorio cuando se agrega un asistente. |
admite escritura |
attendees[].optional |
boolean |
Si se trata de un asistente opcional. Opcional. El valor predeterminado es False. | admite escritura |
attendees[].resource |
boolean |
Si el asistente es un recurso Solo se puede establecer cuando el asistente se agrega al evento por primera vez. Se ignorarán las modificaciones posteriores. Opcional. El valor predeterminado es False. | admite escritura |
attendees[].responseStatus |
string |
Estado de respuesta del asistente. Los valores posibles son:
|
admite escritura |
attendeesOmitted |
boolean |
Si los asistentes se pueden haber omitido de la representación del evento. Cuando se recupera un evento, puede deberse a una restricción especificada por el parámetro de consulta maxAttendee . Cuando se actualiza un evento, esto solo se puede usar para actualizar la respuesta del participante. Opcional. El valor predeterminado es False. |
admite escritura |
colorId |
string |
El color del evento. Este es un ID que hace referencia a una entrada en la sección event de la definición de colores (consulta el extremo de colores). Opcional. |
admite escritura |
conferenceData |
nested object |
Información relacionada con la conferencia, como los detalles de una conferencia de Google Meet Para crear nuevos detalles de la conferencia, usa el campo createRequest . Para conservar los cambios, recuerda establecer el parámetro de solicitud conferenceDataVersion en 1 para todas las solicitudes de modificación de eventos. |
admite escritura |
description |
string |
Descripción del evento. Puede contener HTML. Opcional. | admite escritura |
end.date |
date |
La fecha, en el formato "aaaa-mm-dd", si el evento dura todo el día. | admite escritura |
end.dateTime |
datetime |
La hora, como un valor combinado de fecha y hora (con el formato RFC3339) El desfase de zona horaria es obligatorio, a menos que se especifique una zona horaria de forma explícita en timeZone . |
admite escritura |
end.timeZone |
string |
La zona horaria en la que se especifica el horario. (tiene el formato del nombre de la base de datos de zonas horarias de IANA, p.ej., “Europe/Zurich”). Para los eventos recurrentes, este campo es obligatorio y especifica la zona horaria en que se expande la recurrencia. En el caso de los eventos individuales, este campo es opcional e indica una zona horaria personalizada para el inicio y la finalización del evento. | admite escritura |
extendedProperties.private |
object |
Las propiedades que son privadas para la copia del evento que aparece en este calendario. | admite escritura |
extendedProperties.shared |
object |
Propiedades que se comparten entre las copias del evento en los calendarios de otros asistentes | admite escritura |
focusTimeProperties |
nested object |
Datos de eventos de Tiempo dedicado. Se usa si eventType es focusTime . |
admite escritura |
gadget.display |
string |
Modo de visualización del gadget. Ya no está disponible. Los valores posibles son:
|
admite escritura |
gadget.height |
integer |
La altura del gadget en píxeles. La altura debe ser un número entero mayor que 0. Opcional. Ya no está disponible. | admite escritura |
gadget.iconLink |
string |
URL del ícono del gadget. El esquema de URL debe ser HTTPS. Ya no está disponible. | admite escritura |
gadget.link |
string |
La URL del gadget. El esquema de URL debe ser HTTPS. Ya no está disponible. | admite escritura |
gadget.preferences |
object |
Preferencias. | admite escritura |
gadget.title |
string |
Título del gadget. Ya no está disponible. | admite escritura |
gadget.type |
string |
El tipo de gadget. Ya no está disponible. | admite escritura |
gadget.width |
integer |
El ancho del gadget en píxeles. El ancho debe ser un número entero mayor que 0. Opcional. Ya no está disponible. | admite escritura |
guestsCanInviteOthers |
boolean |
Indica si los asistentes que no son el organizador pueden invitar a otras personas al evento. Opcional. El valor predeterminado es True. | admite escritura |
guestsCanModify |
boolean |
Indica si los asistentes que no son el organizador pueden modificar el evento. Opcional. El valor predeterminado es False. | admite escritura |
guestsCanSeeOtherGuests |
boolean |
Indica si los asistentes que no son el organizador pueden ver quiénes son los asistentes al evento. Opcional. El valor predeterminado es True. | admite escritura |
location |
string |
Ubicación geográfica del evento, como texto sin formato. Opcional. | admite escritura |
originalStartTime.date |
date |
La fecha, en el formato "aaaa-mm-dd", si el evento dura todo el día. | admite escritura |
originalStartTime.dateTime |
datetime |
La hora, como un valor combinado de fecha y hora (con el formato RFC3339) El desfase de zona horaria es obligatorio, a menos que se especifique una zona horaria de forma explícita en timeZone . |
admite escritura |
originalStartTime.timeZone |
string |
La zona horaria en la que se especifica el horario. (tiene el formato del nombre de la base de datos de zonas horarias de IANA, p.ej., “Europe/Zurich”). Para los eventos recurrentes, este campo es obligatorio y especifica la zona horaria en que se expande la recurrencia. En el caso de los eventos individuales, este campo es opcional e indica una zona horaria personalizada para el inicio y la finalización del evento. | admite escritura |
outOfOfficeProperties |
nested object |
Datos de eventos fuera de la oficina. Se usa si eventType es outOfOffice . |
admite escritura |
recurrence[] |
list |
Lista de líneas RRULE, EXRULE, RDATE y EXDATE para un evento recurrente, como se especifica en RFC5545. Ten en cuenta que no se permiten las líneas DTSTART y DTEND en este campo. Las horas de inicio y finalización del evento se especifican en los campos start y end . Este campo se omite para eventos individuales o instancias de eventos recurrentes. |
admite escritura |
reminders.overrides[] |
list |
Si el evento no utiliza los recordatorios predeterminados, se muestran los recordatorios específicos del evento o, si no se establecen, se indican que no hay recordatorios establecidos para ese evento. La cantidad máxima de recordatorios de anulación es 5. | admite escritura |
reminders.overrides[].method |
string |
Es el método que usa este recordatorio. Los valores posibles son:
Obligatorio al agregar un recordatorio. |
admite escritura |
reminders.overrides[].minutes |
integer |
Cantidad de minutos antes del inicio del evento en los que se debe activar el recordatorio. Los valores válidos se encuentran entre 0 y 40,320 (4 semanas en minutos). Obligatorio al agregar un recordatorio. |
admite escritura |
reminders.useDefault |
boolean |
Si los recordatorios predeterminados del calendario se aplican al evento | admite escritura |
sequence |
integer |
Número de secuencia según iCalendar. | admite escritura |
source.title |
string |
Título de la fuente; por ejemplo, el título de una página web o el asunto de un correo electrónico. | admite escritura |
source.url |
string |
URL de la fuente que apunta a un recurso. El esquema de URL debe ser HTTP o HTTPS. | admite escritura |
start.date |
date |
La fecha, en el formato "aaaa-mm-dd", si el evento dura todo el día. | admite escritura |
start.dateTime |
datetime |
La hora, como un valor combinado de fecha y hora (con el formato RFC3339) El desfase de zona horaria es obligatorio, a menos que se especifique una zona horaria de forma explícita en timeZone . |
admite escritura |
start.timeZone |
string |
La zona horaria en la que se especifica el horario. (tiene el formato del nombre de la base de datos de zonas horarias de IANA, p.ej., “Europe/Zurich”). Para los eventos recurrentes, este campo es obligatorio y especifica la zona horaria en que se expande la recurrencia. En el caso de los eventos individuales, este campo es opcional e indica una zona horaria personalizada para el inicio y la finalización del evento. | admite escritura |
status |
string |
Estado del evento. Opcional. Los valores posibles son:
|
admite escritura |
summary |
string |
Corresponde al título del evento. | admite escritura |
transparency |
string |
Indica si el evento bloquea tiempo en el calendario. Opcional. Los valores posibles son:
|
admite escritura |
visibility |
string |
Visibilidad del evento Opcional. Los valores posibles son:
|
admite escritura |
workingLocationProperties |
nested object |
Datos de eventos de ubicación de trabajo. | admite escritura |
workingLocationProperties.customLocation |
object |
Si está presente, especifica que el usuario está trabajando desde una ubicación personalizada. | admite escritura |
workingLocationProperties.customLocation.label |
string |
Una etiqueta adicional opcional para obtener información adicional. | admite escritura |
workingLocationProperties.homeOffice |
any value |
Si está presente, especifica que el usuario está trabajando en casa. | admite escritura |
workingLocationProperties.officeLocation |
object |
Si está presente, especifica que el usuario está trabajando en una oficina. | admite escritura |
workingLocationProperties.officeLocation.buildingId |
string |
Es un identificador de edificio opcional. Debe hacer referencia a un ID de edificio en la base de datos de recursos de la organización. | admite escritura |
workingLocationProperties.officeLocation.deskId |
string |
Un identificador de escritorio opcional. | admite escritura |
workingLocationProperties.officeLocation.floorId |
string |
Un identificador de piso opcional. | admite escritura |
workingLocationProperties.officeLocation.floorSectionId |
string |
Un identificador opcional de la sección del piso. | admite escritura |
workingLocationProperties.officeLocation.label |
string |
El nombre de la oficina que se muestra en los clientes de Calendario para la Web y dispositivos móviles. Te recomendamos que hagas referencia al nombre de un edificio en la base de datos de Recursos de la organización. | admite escritura |
workingLocationProperties.type |
string |
Es el tipo de ubicación de trabajo. Los valores posibles son:
Obligatorio cuando se agregan propiedades de ubicación de trabajo. |
admite escritura |
Respuesta
Si se aplica de forma correcta, este método muestra un recurso de eventos en el cuerpo de la respuesta.
Ejemplos
Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).
Java
Usa la 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 la 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 la 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();
Ruby
Usa la biblioteca cliente Ruby.
event = client.get_event('primary', 'eventId') event.summary = 'Appointment at Somewhere' result = client.update_event('primary', event.id, event) print result.updated
Pruébala
Usa el Explorador de APIs que aparece a continuación para llamar a este método con datos en tiempo real y ver la respuesta.