Ir al contenido

OneDrive/SharePoint — Download

Tipo: msfiles-download  ·  Paquete: OneDrive / SharePoint v1.0.5  ·  Salida: string

Descarga un archivo de la unidad al equipo. Opcionalmente, exporta a PDF los documentos de Office (Word, Excel, PowerPoint) al descargarlos, sin necesidad de tener Office instalado en la máquina del robot.

Opera sobre la sesión creada con OneDrive/SharePoint — Connect. Pásala en el parámetro session, o coloca esta actividad dentro del body de Connect para heredarla automáticamente.

Indica el archivo con su id (de List files). La actividad:

  1. Consulta el nombre del archivo en la nube (con asPdf, cambia su extensión a .pdf).
  2. Decide la ruta local: si destination es una carpeta que ya existe, guarda el archivo dentro con su nombre original; si no, toma destination como ruta de archivo y crea las carpetas que falten.
  3. Descarga el contenido (o la conversión a PDF que hace Microsoft 365) y lo escribe en disco.

Ten en cuenta:

  • Si ya existe un archivo local con ese nombre, se sobrescribe.
  • Si quieres descargar en una carpeta, asegúrate de que exista: una ruta de carpeta que no existe se interpreta como nombre de archivo (C:\descargas sin crear daría un archivo llamado descargas).
  • asPdf funciona con los formatos que Microsoft 365 sabe convertir (documentos de Word, Excel, PowerPoint y similares); con otros, Microsoft Graph devuelve un error.
  • No modifica el archivo en la nube.
ParámetroTipoPor defectoDescripción
idstring—ID del archivo en la unidad.
destinationstring—Ruta de archivo local de destino, o una carpeta existente (se usa el nombre del archivo).
ParámetroTipoPor defectoDescripción
sessionZoanMicrosoftFilesSession—Sesión de Connect. Dentro del body de Connect se hereda.
asPdfboolfalseExportar el archivo a PDF (documentos de Office). El archivo guardado lleva extensión .pdf.

Devuelve un string con la ruta completa del archivo guardado (con extensión .pdf si usaste asPdf y destination era una carpeta). Asígnalo a una variable para abrirlo, adjuntarlo o procesarlo después.

MensajeCausa y solución
No hay una sesión de OneDrive/SharePoint disponible. Indica 'session' desde una actividad msfiles-connect o coloca esta actividad dentro del cuerpo de la actividad Connect para que herede la sesión automáticamente.La actividad está fuera del body de Connect y no recibió session. Colócala dentro del body o pasa session = sesion.
'id' es obligatorio. / 'destination' es obligatorio.El parámetro está vacío o su expresión dio null.
itemNotFound (Microsoft Graph, 404)No hay un archivo con ese ID en la unidad de la sesión.
No se devolvió contenido.Microsoft Graph respondió sin contenido. Reintenta; si persiste, comprueba que el ID sea de un archivo y no de una carpeta (con Get info, isFolder).
Error de Microsoft Graph al convertir (notSupported o 406)Con asPdf, el formato del archivo no se puede convertir a PDF. Descárgalo sin asPdf.
Access to the path '…' is denied.La cuenta del robot no puede escribir en la carpeta local, o el archivo está abierto por otro programa.
OneDrive/SharePoint — Connect credential = credential("m365-operaciones")
└─ body:
OneDrive/SharePoint — List files query = "Contrato" → output: encontrados
OneDrive/SharePoint — Download id = encontrados[0]["id"] destination = "C:\descargas" asPdf = true → output: ruta
Log message = "Guardado en " + ruta