Ir al contenido

Google Drive Activities

Versión: 1.0.5  ·  ID: zoan-packages-googledrive  ·  Autor: Zoan Software

El paquete Google Drive sube, descarga, busca y organiza archivos y carpetas de Drive directamente por su API, sin abrir el navegador: archivar los reportes que genera el robot, recoger los documentos que deja un equipo en una carpeta o compartir un entregable con un cliente.

Todo empieza con Google Drive — Connect, que admite dos modos en authType:

ModoQué necesitasCuándo conviene
oauth (por defecto)Una conexión OAuth de Google de Zoan Cloud autorizada con el permiso de Drive (https://www.googleapis.com/auth/drive). Se pasa en credential como credential("nombre-clave"); Zoan Cloud renueva el token solo.El robot trabaja con el Drive de una persona o de una cuenta del equipo.
service-accountUna llave de service account (JSON completo) guardada como credencial, en serviceAccount. Sin impersonateUser, la service account solo ve lo que se ha compartido con su email; con impersonateUser (domain-wide delegation) trabaja en el Drive de ese usuario del Workspace.Ejecuciones desatendidas sin consentimiento de una persona.

Coloca las demás actividades dentro del body de Connect para que hereden la sesión (ZoanGoogleDriveSession) y esta se cierre sola al terminar.

Drive no trabaja con rutas: cada archivo y carpeta tiene un ID (la parte final de su URL, drive.google.com/drive/folders/{ID}). Obtén los IDs con List files, Create folder o Upload, y pásalos a las demás actividades. root es el alias de la raíz de Mi unidad.

Las actividades trabajan con Mi unidad y con lo compartido contigo. Los elementos de unidades compartidas (shared drives) no están a su alcance.

Upload, List files, Get info, Create folder, Copy, Move y Rename devuelven cada archivo o carpeta como un Dictionary con estas claves:

ClaveTipoContenido
idstringID del archivo o carpeta.
namestringNombre, con extensión si la tiene.
mimeTypestringTipo de contenido, p. ej. application/pdf. Las carpetas son application/vnd.google-apps.folder y los documentos nativos de Google empiezan por application/vnd.google-apps.
isFolderbooltrue si es una carpeta.
sizelongTamaño en bytes. Nulo para carpetas y documentos nativos de Google (Docs, Sheets, Slides).
parentsListIDs de las carpetas que lo contienen. Puede ser nulo en elementos compartidos contigo que no están en tu unidad.
modifiedTimestringÚltima modificación, ISO 8601 con desfase (p. ej. 2026-06-15T14:30:00.0000000+00:00).
createdTimestringFecha de creación, mismo formato.
webViewLinkstringEnlace para abrirlo en el navegador.
trashedbooltrue si está en la papelera.
ActividadTipoSalidaDescripción
Google Drive — Connectgoogledrive-connectZoanGoogleDriveSessionAbre una sesión autenticada con Google Drive
Google Drive — Uploadgoogledrive-uploadDictionary<string,object>Sube un archivo local a Google Drive
Google Drive — Downloadgoogledrive-downloadstringDescarga un archivo de Google Drive
Google Drive — List filesgoogledrive-listList<Dictionary<string,object>>Lista o busca archivos y carpetas
Google Drive — Get infogoogledrive-get-infoDictionary<string,object>Obtiene los metadatos de un archivo o carpeta por su ID
Google Drive — Create foldergoogledrive-create-folderDictionary<string,object>Crea una carpeta en Google Drive
Google Drive — Copygoogledrive-copyDictionary<string,object>Copia un archivo en Google Drive
Google Drive — Movegoogledrive-moveDictionary<string,object>Mueve un archivo o carpeta a otra carpeta
Google Drive — Renamegoogledrive-renameDictionary<string,object>Cambia el nombre de un archivo o carpeta
Google Drive — Sharegoogledrive-shareDictionary<string,object>Comparte un archivo o carpeta otorgando un permiso
Google Drive — Deletegoogledrive-delete—Mueve un archivo o carpeta a la papelera (o lo elimina permanentemente)
Google Drive — Closegoogledrive-close—Cierra una sesión de Google Drive

Cuando Google rechaza una llamada, la actividad falla con un error de tipo GoogleApiException cuyo mensaje empieza por The service drive has thrown an exception. HttpStatusCode is … seguido del texto de Google (siempre en inglés: lo envía Google):

CódigoCausa habitualQué hacer
NotFound (File not found: …)El ID no existe, está en una unidad compartida o la cuenta no tiene acceso a él.Comprueba el ID con List files desde la misma cuenta.
ForbiddenLa cuenta solo tiene permiso de lectura o comentario sobre el elemento, la conexión no incluye el permiso de Drive, o se superó una cuota.Pide permiso de edición sobre el elemento o reautoriza la conexión con el permiso de Drive.
BadRequestParámetro rechazado, por ejemplo una query con sintaxis inválida.Revisa la consulta con la sintaxis de búsqueda de Drive.
UnauthorizedEl token ya no es válido (acceso revocado, conexión expirada).Reconectar la conexión en Zoan Cloud.
TooManyRequestsSe superó la cuota de solicitudes por minuto de Google.Envuelve la actividad en Retry con espera.

Captura cualquiera de ellos con Try / Catch; error.Type vale GoogleApiException.