En Calendario de Google, los usuarios pueden especificar una ubicación de trabajo para que las personas conozcan su ubicación cuando envíen invitaciones a un evento. Esta función solo está disponible para algunos usuarios del Calendario de Google. Para obtener más detalles, consulta Cómo activar o desactivar la ubicación de trabajo para los usuarios.
Leer las ubicaciones de trabajo de los usuarios
Puedes leer las ubicaciones de trabajo del usuario en el recurso Events
de la API de Calendario.
Para enumerar los eventos de ubicación de trabajo, usa el método events.list
y especifica ['workingLocation']
en el campo eventTypes
. Luego, en los objetos Event
que se muestran, inspecciona que el campo eventType
tenga el valor 'workingLocation'
y consulta el campo workingLocationProperties
para obtener más información sobre la ubicación de trabajo que configuró el usuario en Calendario de Google.
Nota: La posibilidad de agregar o actualizar ubicaciones de trabajo aún está en desarrollo. Actualmente, el horario laboral no se puede administrar de manera programática.
Ejemplo de código de Google Apps Script
Google Apps Script es un lenguaje de secuencia de comandos en la nube basado en JavaScript que te permite compilar aplicaciones empresariales sencillas que se integran en Google Workspace. Las secuencias de comandos se desarrollan en un editor de código basado en navegador y se almacenan y ejecutan en los servidores de Google. Consulta también la guía de inicio rápido de Google Apps Script para comenzar a usar Apps Script a fin de enviar solicitudes a la API de Calendario de Google.
En las siguientes instrucciones, se describe cómo leer ubicaciones de trabajo con la API del Calendario de Google como un servicio avanzado en Google Apps Script. Para obtener una lista completa de los recursos y métodos de la API de Calendario de Google, consulta la documentación de referencia.
Cree la secuencia de comandos
- Cree una secuencia de comandos en script.google.com/create.
Habilitar la API del Calendario de Google
- En el panel izquierdo, junto a Servicios, haz clic en Agregar un servicio. .
- Selecciona API del Calendario de Google y haz clic en Agregar.
- Una vez habilitada, la API aparece en el panel izquierdo. Los métodos y las clases disponibles en la API se pueden enumerar con la palabra clave Calendar en el editor.
Actualiza el proyecto de Google Cloud
La capacidad de leer las ubicaciones de trabajo solo está disponible para los proyectos de Google Cloud en el Programa de Vista previa para desarrolladores. Debes actualizar el número de proyecto de Google Cloud del proyecto de Apps Script para recuperar eventos de ubicación de trabajo.
- En el lado izquierdo del editor, haz clic en Configuración del proyecto .
- En Proyecto de Google Cloud Platform (GCP), haga clic en Cambiar proyecto.
- Ingresa el número del proyecto de Google Cloud que se encuentra en el Programa de vista previa para desarrolladores y haz clic en Configurar proyecto.
- En el lado izquierdo, selecciona Editor para volver al editor de código.
Ejecuta la secuencia de comandos para leer las ubicaciones de trabajo
En la siguiente muestra de código, se indica cómo leer los eventos de ubicación de trabajo en tu calendario.
Pegue lo siguiente en el editor de secuencias de comandos.
/** * Lists working location events for given dates. * See https://developers.google.com/calendar/api/v3/reference/events/list */ function listWorkingLocationEvents() { const calendarId = 'primary' // Query parameters for the list request. const optionalArgs = { eventTypes: ['workingLocation'], showDeleted: false, singleEvents: true, timeMax: '2023-04-01T00:00:00+01:00', timeMin: '2023-03-27T00:00:00+01:00', } try { var response = Calendar.Events.list(calendarId, optionalArgs ); response.items.forEach(event => console.log('%s: %s', event.start.date, parseWorkingLocation(event))); } catch (exception) { console.log(exception.message); } } /** * Reads the working location event with the given eventId. * See https://developers.google.com/calendar/api/v3/reference/events/get */ function readWorkingLocationEvent() { const calendarId = 'primary'; // Replace with a valid eventId. const eventId = "sample-event-id"; try { const event = Calendar.Events.get(calendarId, eventId); console.log('%s: %s', event.start.date, parseWorkingLocation(event)); } catch (exception) { console.log(exception.message); } } /** * Parses working location properties of an event into a string. * See https://developers.google.com/calendar/api/v3/reference/events#resource */ function parseWorkingLocation(event) { if(event.eventType != "workingLocation") { throw new Error("'" + event.summary +"' is not a working location event."); } const workingLocation = event.workingLocationProperties; if (workingLocation) { if (workingLocation.homeOffice) { return 'Home'; } if (workingLocation.officeLocation) { return workingLocation.officeLocation.label; } if (workingLocation.customLocation) { return workingLocation.customLocation.label; } } return 'No Location'; }
Arriba del editor de código, selecciona la función que quieres ejecutar en el menú desplegable y haz clic en Ejecutar.
En la primera ejecución, se te pide que autorices el acceso. Revisa y permite que Apps Script acceda 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.