@googleworkspace/cli
@googleworkspace/cli es una herramienta CLI única para interactuar con APIs de Google Workspace (Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin) en JSON.
¿Qué es googleworkspace-cli?
googleworkspace/cli (publicado como @googleworkspace/cli) es una herramienta de línea de comandos para Google Workspace. Te permite trabajar con múltiples APIs de Workspace —como Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin y más— mediante una sola CLI.
La superficie de comandos se construye dinámicamente en tiempo de ejecución a partir del Discovery Service de Google, en lugar de incluir una lista fija de comandos. El proyecto también se describe como que incluye “habilidades para agentes de IA”, y la CLI enfatiza la salida en JSON estructurado para automatización.
Características principales
- Una sola CLI para múltiples servicios de Workspace: Proporciona una interfaz única para interactuar con Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin y otras APIs de Workspace.
- Generación dinámica de comandos desde Discovery Service: Los comandos y métodos se construyen leyendo el Discovery Service de Google en tiempo de ejecución, por lo que se pueden captar nuevos endpoints/métodos sin una lista estática de comandos.
- Salida en JSON estructurado: Diseñada para usarse con automatización y agentes de IA; las respuestas se devuelven en JSON estructurado.
- Introspección de esquemas para métodos de API: Usa
gws schema <...>para inspeccionar el esquema de solicitud/respuesta de un método. - Simulación de solicitudes y ayudantes de paginación: Usa
--dry-runpara previsualizar solicitudes y--page-allpara transmitir resultados paginados (opcionalmente a herramientas comojq). - Flujos de autenticación múltiples: Soporta flujos de configuración/inicio de sesión adecuados para uso local, CI y servidores, incluyendo integración con
gcloudcuando está disponible. - Habilidades de agente incluidas: La documentación del repositorio indica que incluye “más de 40 habilidades para agentes”.
Cómo usar googleworkspace-cli
- Instala la CLI:
- Vía npm:
npm install -g @googleworkspace/cli - O usando un binario precompilado desde GitHub Releases
- O compila desde el código fuente:
cargo install --git https://github.com/googleworkspace/cli --locked - (macOS/Linux también mencionan Homebrew; hay un flake de Nix disponible.)
- Vía npm:
- Autentícate (configuración única del proyecto, luego inicio de sesión):
gws auth setup(requieregcloudinstalado y autenticado)gws auth login(inicio de sesión OAuth subsiguiente)- Para flujos basados en tokens manuales o de consola, la documentación lista variables de entorno y un camino de configuración OAuth manual.
- Ejecuta comandos contra un recurso. Ejemplos de flujos de la documentación incluyen:
- Listar archivos:
gws drive files list --params '{"pageSize": 5}' - Crear una hoja de cálculo:
gws sheets spreadsheets create --json '{"properties": {"title": "Q1 Budget"}}' - Enviar un mensaje de Chat:
gws chat spaces messages create --params '{"parent": "spaces/xyz"}' --json '{"text": "Deploy complete."}' - Introspeccionar esquema:
gws schema drive.files.list
- Listar archivos:
Casos de uso
- Automatiza flujos de Drive con paginación y JSON: Transmite conjuntos de resultados grandes de endpoints de lista de Drive y procésalos con herramientas downstream (p. ej., combinando la salida de
--page-allconjq). - Envía solicitudes de Gmail/Chat/Calendar sin escribir llamadas REST crudas: Usa los comandos centrados en recursos de la CLI para crear o actualizar objetos mientras confías en la interfaz generada.
- Valida la estructura de la solicitud antes de ejecutar: Usa
--dry-runpara previsualizar lo que enviaría la CLI, lo que ayuda al generar payloads para Sheets, Chat y otros recursos. - Construye herramientas para agentes de IA alrededor de APIs de Workspace: Usa respuestas en JSON estructurado y las habilidades de agente incluidas para que un agente impulsado por LLM decida qué acciones de Workspace llamar con menos pegamento personalizado.
- Descubre cómo llamar a un método de API desde la CLI: Cuando sabes que un método existe pero no su forma exacta de solicitud, usa
gws schema <method>para inspeccionar el esquema de solicitud/respuesta.
Preguntas frecuentes
-
¿Es googleworkspace-cli un producto oficial de Google? No. El repositorio indica: “Este no es un producto oficialmente soportado por Google”.
-
¿Tiene una lista fija de comandos? No. La documentación afirma que no incluye una lista estática de comandos; lee el Discovery Service de Google en tiempo de ejecución y construye su superficie de comandos dinámicamente.
-
¿Qué necesito instalar y ejecutar? La lista de requisitos incluye Node.js 18+ para el flujo de instalación vía npm. La autenticación requiere un proyecto de Google Cloud para credenciales OAuth y una cuenta de Google con acceso a Workspace.
-
¿Qué configuración de autenticación debo usar? La documentación describe múltiples opciones:
- Configuración asistida por
gcloud(gws auth setup) cuando tienesgcloudinstalado y autenticado - Configuración OAuth manual vía Google Cloud Console cuando la automatización no es posible
- Credenciales basadas en tokens/manuales vía variables de entorno (como se documenta)
- Configuración asistida por
-
¿Hay limitaciones relacionadas con scopes durante desarrollo/pruebas? Sí. La documentación advierte que si la app OAuth no está verificada (modo de prueba), Google limita el consentimiento a ~25 scopes y que el preset de scopes recomendado (85+ scopes) fallará para apps no verificadas —especialmente para cuentas
@gmail.com.
Alternativas
- Llamadas directas a la API REST con curl o un cliente HTTP: Te permite llamar directamente a los endpoints de Workspace, pero debes gestionar tú mismo el formato de las solicitudes, la paginación y los detalles de autenticación.
- SDK oficiales para servicios específicos de Workspace (p. ej., bibliotecas de Google APIs específicas de un lenguaje): Proporcionan métodos de cliente tipados para servicios particulares, pero normalmente rutas de código separadas por API en lugar de una interfaz CLI dinámica generada.
- Otras herramientas CLI para APIs de Google: CLIs alternativas pueden centrarse en servicios específicos o usar conjuntos de comandos estáticos; según la herramienta, es posible que no ofrezcan la misma generación dinámica de comandos basada en el servicio de Discovery ni el flujo de trabajo de JSON estructurado + introspección de esquemas descrito aquí.
Alternativas
Ably Chat
Ably Chat es una API y SDK de chat para crear aplicaciones personalizadas en tiempo real: reacciones, presencia y edición/eliminación de mensajes.
Tavus
Tavus crea sistemas de IA que ven, oyen y responden en tiempo real para interacciones cara a cara, con agentes de vídeo y gemelos digitales vía APIs.
HiringPartner.ai
HiringPartner.ai es una plataforma de reclutamiento autónomo con agentes de IA que buscan, filtran, llaman y entrevistan candidatos 24/7, reduciendo el time-to-hire de semanas a tan solo 48 horas.
AakarDev AI
AakarDev AI es una plataforma poderosa que simplifica el desarrollo de aplicaciones de IA con integración fluida de bases de datos vectoriales, permitiendo un despliegue y escalabilidad rápidos.
AgentMail
AgentMail es una API de bandeja de entrada por correo para agentes de IA: crear, enviar, recibir y buscar mensajes por REST para conversaciones bidireccionales.
DeepMotion
DeepMotion es una plataforma de captura de movimiento con IA y body tracking para generar animaciones 3D desde video (y texto) en el navegador.