Tipos de eventos

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 muestran con un eventType.
  • eventType se debe configurar cuando se crea o actualiza un recurso de evento. Si no la estableces, Se usará el tipo 'default'.
  • eventTypes se puede especificar en una Events:list. llamada 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 se usan como uno de los eventos de la API del Calendario de Google. Admiten una amplia gama de propiedades que se puede usar para personalizar aún más el evento.

Consulta Crea eventos para comenzar a trabajar. Eventos del Calendario de Google

Fecha de nacimiento

Los cumpleaños son eventos especiales que duran todo el día con una recurrencia anual. Tienen la las siguientes especificaciones:

  • eventType está configurado como 'birthday'
  • start y Los campos end deben definir una que dura todo el día y que dura exactamente un día.
  • Valor del campo visibility debe ser 'private'.
  • 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 y reminders
  • No admite ninguna otra propiedad del evento.

Eventos de Gmail

Eventos generados automáticamente desde Gmail Tener 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 el colorId, reminders, visibility, transparency, status, private y shared propiedades extendidas con la actualización 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 indica ningún tipo especificado, 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 delete de la API de Calendario de Google

Cambiar el organizador de un evento desde Gmail con mover o update no es compatible.

Tiempo dedicado, 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 una nube basada en JavaScript de secuencia de comandos que te permite compilar aplicaciones empresariales que se integran con en 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 usando el la API del Calendario de Google como servicio avanzado Google Apps Script 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

  1. Crea una secuencia de comandos desde script.google.com/create.
  2. En el panel izquierdo, junto a Servicios, haz clic en Agregar un servicio.
  3. Selecciona API del Calendario de Google y haz clic en Agregar.
  4. Una vez habilitada, la API aparecerá en el panel izquierdo. Los métodos disponibles y se pueden mostrar las clases de la API con la palabra clave Calendario en el editor.

Actualiza el proyecto de Google Cloud (opcional)

Cada proyecto de Google Apps Script 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 editor de código fuente.

Agrega código a la secuencia de comandos

En la siguiente muestra de código, se indica cómo enumerar, leer y crear eventos con valores eventType diferentes.

  1. Pega lo siguiente en el editor de código.

    const CALENDAR_ID = 'CALENDAR_ID' || 'primary';
    
    /** Lists default events. */
    function listDefaultEvents() {
      listEvents('default');
    }
    
    /** 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 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. Inicialmente, esta constante se establece en 'primary', que es una palabra clave para acceder al calendario principal del usuario registrado. 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 al Events:list para recuperar los ID de eventos.

Ejecuta la muestra de código

  1. Arriba del editor de código, selecciona la función que quieres ejecutar en el menú desplegable. y haz clic en Ejecutar.
  2. En la primera ejecución, se te solicita que autorices el acceso. Revisar y permitir Apps Script para acceder a tu calendario.
  3. Puedes inspeccionar los resultados de la ejecución de la secuencia de comandos en la Registro de ejecución que aparece en la parte inferior de la ventana.