En esta página, se explica la propiedad eventType
y las especificaciones de los tipos de eventos
disponibles en la API del Calendario de Google.
El Calendario de Google permite que los usuarios creen eventos genéricos, así como eventos que se diseñaron para casos de uso específicos y con propiedades personalizadas.
El tipo de evento se puede descubrir en los siguientes lugares en la API:
- Todos los eventos se devuelven con un
eventType
. eventType
se debe configurar cuando se crea o actualiza un recurso de evento. Si no se establece, se usará el tipo'default'
.eventTypes
se puede especificar en una llamada Events:list para enumerar eventos de tipos específicos. Si no se especifica un tipo, se mostrarán todos los tipos de eventos se devolverán.eventTypes
se puede especificar en un objeto Events:watch. para suscribirse a actualizaciones sobre eventos de tipos específicos. Si no se indica ningún tipo especificado, la solicitud suscribirá a todos los tipos de eventos.
Evento predeterminado
Los eventos con el tipo de evento default
se crean y usan como uno de los principales recursos de la API de Calendario de Google. Admiten una amplia variedad de propiedades que se pueden usar para personalizar aún más el evento.
Consulta Cómo crear eventos para comenzar a trabajar con los eventos del Calendario de Google.
Fecha de nacimiento
Los cumpleaños son eventos especiales de todo el día con una recurrencia anual.
La API del Calendario de Google permite crear eventos de cumpleaños con insert con los siguientes valores específicas:
eventType
se establece como'birthday'
.start
y Los camposend
deben definir una que dura todo el día y que dura exactamente un día.- Valor del campo
visibility
debe ser'private'
. - El valor del campo
transparency
debe ser'transparent'
. - Deben tener una recurrencia anual, es decir,
El campo
recurrence
debe tener'RRULE:FREQ=YEARLY'
Los eventos de cumpleaños que caen el 29 de febrero deben tener la siguiente regla de recurrencia:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
. - Puede tener un
colorId
,summary
yreminders
. - No puede tener ninguna otra propiedad de evento.
La API permite actualizar los atributos colorId
, summary
y reminders
de los eventos de cumpleaños con los métodos update y patch.
Los campos start
y end
también se pueden actualizar para cambiar la fecha del evento. En este caso, los valores nuevos deben definir un valor de
evento que abarca exactamente un día.
Las solicitudes que intenten crear o actualizar una fecha de nacimiento de una manera no admitida fallan. En este caso, inspecciona el mensaje de error para identificar el problema.
La API admite la operación import
para eventos de cumpleaños Sin embargo, el evento se importará como un evento predeterminado. En otras palabras, eventType
será 'default'
.
La API admite los métodos get, instances y list para leer eventos de cumpleaños. eventTypes
puede ser
se establece en 'birthday'
para que solo se muestren los eventos de cumpleaños. Si no se especifica un tipo,
los cumpleaños aparecerán junto a todos los demás tipos de eventos.
La API admite el método watch para suscribirse a los cambios en los eventos de cumpleaños en el Calendario de Google.
eventTypes
se puede configurar como 'birthday'
para suscribirse a actualizaciones sobre eventos de cumpleaños. Si no se especifica un tipo, se suscribirán a todos los tipos de eventos, incluidos los cumpleaños.
Los eventos de cumpleaños se pueden borrar con el método delete de la API de Calendario de Google.
Cambiar el organizador de un evento de cumpleaños con mover o update no es compatible.
Eventos de Gmail
Los eventos generados automáticamente desde Gmail tienen el tipo de evento 'fromGmail'
.
La API del Calendario de Google no permite crear este tipo de evento con la función insert.
La API permite actualizar las propiedades extendidas colorId
, reminders
, visibility
, transparency
, status
, attendees
, private
y shared
con los métodos update y patch.
La API admite los comandos get y
métodos list para leer eventos de
Gmail eventTypes
puede ser
se establece en 'fromGmail'
para enumerar solo los eventos generados desde Gmail. Si no se especifica un tipo, los eventos de Gmail aparecerán junto con todos los demás tipos de eventos.
La API admite el método watch para
suscribirte a los cambios en los eventos de Gmail en el Calendario de Google Si no se indica ningún tipo
especificado, se suscribirán todos los tipos de eventos, incluido 'fromGmail'
.
Los eventos de Gmail se pueden borrar con el método delete de la API de Calendario de Google.
No se admite cambiar el organizador de un evento desde Gmail con los métodos mover o actualizar.
Tiempo dedicado, estado fuera de la oficina y ubicación de trabajo
La API de Google Calendar se puede usar para crear y administrar eventos que muestren la estado de los usuarios del Calendario de Google.
Estas funciones solo están disponibles en los calendarios principales y para algunos usuarios del Calendario de Google. Consulta Cómo administrar el tiempo dedicado, el fuera de la oficina y el trabajo de ubicación del usuario para obtener más información.
Explora los tipos de eventos en Google Apps Script
Google Apps Script es un lenguaje de secuencias de comandos de nube basado en JavaScript que te permite crear aplicaciones empresariales que se integran con Google Workspace. Las secuencias de comandos se desarrollan en un editor de código basado en el navegador. se almacenan y ejecutan en los servidores de Google. Consulta también Google Apps Script guía de inicio rápido para comenzar a usar Apps Script para enviar solicitudes a la API del Calendario de Google
En las siguientes instrucciones, se describe cómo leer y administrar eventos con la API de Google Calendar como un servicio avanzado en Apps Script de Google. Para ver una lista completa de los recursos y métodos de la API de Calendario de Google, consulta la documentación de referencia.
Crea y configura la secuencia de comandos
- Crea una secuencia de comandos desde script.google.com/create.
- En el panel izquierdo, junto a Servicios, haz clic en Agregar un servicio .
- Selecciona API de Calendario de Google y haz clic en Agregar.
- Una vez habilitada, la API aparecerá en el panel izquierdo. Los métodos y las clases disponibles en la API se pueden enumerar con la palabra clave Calendario en el editor.
Actualiza el proyecto de Google Cloud (opcional)
Cada proyecto de Apps Script de Google tiene un proyecto de Google Cloud asociado. Tu puede usar el proyecto predeterminado que Google Apps Script genera automáticamente crea. Si quieres usar un proyecto personalizado de Google Cloud, consulta Cambia a proyecto estándar de Cloud diferente. Después de configurar el proyecto de Google Cloud, selecciona Editor en el lado izquierdo para volver a en tu editor de código fuente.
Agrega código a la secuencia de comandos
En el siguiente ejemplo de código, se muestra cómo enumerar, leer y crear eventos con diferentes valores de eventType
.
Pega lo siguiente en el editor de código.
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }
Reemplaza lo siguiente:
CALENDAR_ID
: Dirección de correo electrónico del calendario para recuperar y crear eventos. Esta constante se establece inicialmente en'primary'
, que es una palabra clave para acceder al calendario principal del usuario que accedió. Si cambias este valor, podrás leer los eventos de los calendarios de y otros usuarios a los que tengas acceso.EVENT_ID
: Es el ID del evento. Puedes llamar a Events:list para recuperar los IDs de evento.
Ejecuta la muestra de código
- Sobre el editor de código, selecciona la función que deseas ejecutar en el menú desplegable y haz clic en Run.
- En la primera ejecución, se te solicita que autorices el acceso. Revisar y permitir Apps Script para acceder a tu calendario.
- Puedes inspeccionar los resultados de la ejecución de la secuencia de comandos en el registro de ejecución que aparece en la parte inferior de la ventana.