Crear complementos de Google Workspace en Cloud Functions mediante el entorno de ejecución de Node.js
Objetivos
- Configurar el entorno
- Crear e implementar una Cloud Function
- Crea e implementa el complemento.
- Instala el complemento.
Requisitos previos
- Un proyecto de Google Cloud.
- Asegúrate de activar la facturación para tu proyecto de Cloud. Aprende a verificar el estado de facturación de tus proyectos.
- El SDK de Cloud configurado con el proyecto de Cloud
Configure su entorno
Abre tu proyecto de Cloud en Google Cloud Console
- En la consola de Google Cloud, ve a la página Selecciona un proyecto.
- Selecciona el proyecto de Google Cloud que deseas usar. También puedes hacer clic en Crear proyecto y seguir las instrucciones en pantalla. Si creas un proyecto de Google Cloud, es posible que debas activar la facturación del proyecto.
Cómo configurar la pantalla de consentimiento de OAuth
Los complementos de Google Workspace requieren una configuración de pantalla de consentimiento. La configuración de la pantalla de consentimiento de OAuth de tu complemento define lo que Google muestra a los usuarios.
- En la consola de Google Cloud, ve al menú > API y servicios > Pantalla de consentimiento de OAuth.
- Seleccione el tipo de usuario para su aplicación y, luego, haga clic en Crear.
- Complete el formulario de registro de la aplicación y, luego, haga clic en Guardar y continuar.
Por ahora, puedes omitir el agregado de permisos y hacer clic en Guardar y continuar. En el futuro, cuando crees una app para usarla fuera de tu organización de Google Workspace, deberás agregar y verificar los permisos de autorización que requiere tu app.
- Si seleccionaste Externo para el tipo de usuario, agrega usuarios de prueba:
- En Usuarios de prueba, haz clic en Agregar usuarios.
- Ingresa tu dirección de correo electrónico y cualquier otro usuario de prueba autorizado. Luego, haz clic en Guardar y continuar.
- Revisa el resumen de registro de tu app. Para realizar cambios, haz clic en Editar. Si el registro de la app es correcto, haz clic en Volver al panel.
Crea e implementa una Cloud Function
En una terminal local, activa Cloud Functions, Cloud Build y la API de complementos de Google Workspace:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
En un directorio vacío, crea el archivo
function.js
con el siguiente código de muestra:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
Para implementar la función, ejecuta este comando:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Si se te solicita, especifica que no permites invocaciones no autenticadas de la función. Es posible que la función tarde unos minutos en implementarse.
Crea una implementación de complementos
Busca el correo electrónico de la cuenta de servicio del complemento:
gcloud workspace-add-ons get-authorization
Otorga a la cuenta de servicio el rol
cloudfunctions.invoker
:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Obtén la URL de la función implementada. Para obtener la URL, ejecuta el siguiente comando y busca el campo
url
en la secciónhttpsTrigger
:gcloud functions describe loadHomePage
Crea el archivo
deployment.json
con el siguiente código de muestra. ReemplazaURL
por la URL de la función implementada del paso anterior.{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
Crea la implementación:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Cómo instalar el complemento
Instala la implementación en modo de desarrollo:
gcloud workspace-add-ons deployments install quickstart
Abra o vuelva a cargar Gmail para ver el complemento. En la barra de herramientas de la derecha, busca un ícono de vaso.
Haga clic en el ícono para abrir el complemento. Si se te solicita, autoriza el complemento.
Opcional: Limpieza
Para evitar que se apliquen cargos a tu cuenta, borra los recursos que creaste:
Desinstala el complemento de tu Cuenta de Google:
gcloud workspace-add-ons deployments uninstall quickstart
Para evitar que se generen cargos por los recursos que usaste en esta guía de inicio rápido, borra el proyecto de Cloud:
gcloud projects delete PROJECT_ID
Reemplaza PROJECT_ID por el ID del proyecto de Cloud que usaste para la guía de inicio rápido. Puedes encontrar el ID del proyecto de Cloud en la consola de Google Cloud, en la página del panel.
Próximos pasos
Para agregar más funciones a tu complemento de Google Workspace, consulta las siguientes guías:
- Cómo crear un complemento en cualquier lenguaje de programación
- Vista previa de vínculos con chips inteligentes