Ir al contenido

Google Drive — Download

Tipo: googledrive-download  ·  Paquete: Google Drive v1.0.5  ·  Salida: string

Descarga un archivo de Google Drive al equipo. Los documentos nativos de Google se exportan a un formato ofimático: Docs→docx, Sheets→xlsx, Slides→pptx, el resto (dibujos, formularios…)→pdf. Así el robot puede abrirlos después con las actividades de Excel, Word o PDF.

Consulta el nombre y tipo del archivo id y lo guarda según destination:

  • Si destination es una carpeta que existe, el archivo se guarda dentro con su nombre de Drive; a los documentos nativos de Google se les añade la extensión del formato exportado (Presupuesto → Presupuesto.xlsx).
  • Si no, destination se toma como la ruta completa del archivo: se crean las carpetas que falten y se usa ese nombre tal cual (aquí no se añade extensión: inclúyela tú).
  • La descarga se escribe primero en un archivo temporal de la misma carpeta y solo reemplaza el destino cuando termina completa: Google la dio por terminada y, en archivos que no son documentos de Google, el tamaño coincide con el de Drive. Si se corta o queda incompleta, la actividad falla con un error claro, borra el temporal y deja el destino como estaba. Desde la versión 1.0.5.
  • Un archivo existente con el mismo nombre se sobrescribe (solo si la descarga terminó completa).
  • Pasa solo IDs de archivos: una carpeta no se puede descargar. Al recorrer un listado, filtra con eq(archivo["isFolder"], false).
ParámetroTipoPor defectoDescripción
idstring—ID del archivo.
destinationstring—Carpeta de destino (se usa el nombre de Drive) o ruta completa del archivo.
ParámetroTipoPor defectoDescripción
sessionZoanGoogleDriveSession—Sesión de Google Drive — Connect. Dentro del body de Connect se hereda y puedes omitirla.

Devuelve un string con la ruta completa del archivo guardado, incluida la extensión añadida a los documentos de Google. Úsala en la actividad siguiente para abrir o procesar el archivo.

MensajeCausa y solución
'id' es obligatorio.id quedó vacío o su expresión dio nulo.
'destination' es obligatorio.destination quedó vacío o su expresión dio nulo.
La descarga de «…» no terminó: …. El archivo de destino no se modificó.Google rechazó o cortó la transferencia (por ejemplo, un documento nativo que supera el límite de exportación de Google, o el ID de una carpeta). Revisa el motivo que sigue a los dos puntos y vuelve a intentar; un Retry cubre los cortes pasajeros.
La descarga de «…» quedó incompleta: se recibieron … de … bytes. El archivo de destino no se modificó.La conexión se cortó antes de recibir el archivo entero. Vuelve a intentar la descarga.
Access to the path '…' is denied.El robot no puede escribir en esa ruta, o el archivo de destino está abierto en otro programa.
No hay una sesión de Google Drive disponible. Indica 'session' desde una actividad googledrive-connect o coloca esta actividad dentro del cuerpo de la actividad Connect …La actividad está fuera del body de Connect y no recibió session. Colócala dentro del body o pasa la sesión guardada.
The service drive has thrown an exception. HttpStatusCode is …Google rechazó la llamada: ID inexistente o sin acceso, token vencido o cuota superada. Ver errores de la API de Google.
Google Drive — Connect credential = credential("drive-operaciones")
└─ body:
Google Drive — List files query = "name contains 'factura' and mimeType = 'application/pdf'" → output: encontrados
For Each items = encontrados itemVariable = archivo
└─ activities:
Google Drive — Download id = archivo["id"] destination = "C:\descargas" → output: ruta
Log message = "Guardado en " + ruta