Ir al contenido

OneDrive/SharePoint — List files

Tipo: msfiles-list  ·  Paquete: OneDrive / SharePoint v1.0.5  ·  Salida: List<Dictionary<string,object>>

Lista el contenido de una carpeta o busca archivos por texto en toda la unidad. Es la forma habitual de obtener los IDs que necesitan el resto de actividades.

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.

Tiene dos modos:

  • Listar una carpeta (folderId, por defecto la raíz de la unidad): devuelve los archivos y subcarpetas que están directamente en ella, sin entrar en las subcarpetas.
  • Buscar (query): busca el texto en nombres y contenido de los archivos de toda la unidad, incluidas las subcarpetas. Si das query, tiene prioridad sobre folderId.

Ten en cuenta:

  • Devuelve como máximo maxResults elementos, de una sola página de resultados de Microsoft Graph: en carpetas muy grandes puede devolver menos que el total. Si necesitas recorrer muchos archivos, organízalos en subcarpetas y lista cada una.
  • La búsqueda usa el índice de Microsoft 365: un archivo recién subido puede tardar unos minutos en aparecer.
  • El orden de los resultados lo decide Microsoft 365; si necesitas uno concreto, ordénalos después.
  • Es solo lectura.

Ninguno.

ParámetroTipoPor defectoDescripción
sessionZoanMicrosoftFilesSession—Sesión de Connect. Dentro del body de Connect se hereda.
folderIdstring—ID de la carpeta a listar. Si se omite, la raíz de la unidad. Se ignora si hay query.
querystring—Texto a buscar en toda la unidad (nombre y contenido). Si se indica, sustituye a folderId.
maxResultsint100Número máximo de elementos. Valores no numéricos, 0 o negativos usan 100.

Devuelve un List<Dictionary<string,object>>: cada elemento es un archivo o carpeta con las claves id, name, isFolder, size, webUrl, parentId, modifiedTime, createdTime y childCount (detalle en OneDrive & SharePoint Activities). Recórrela con un For each y accede por clave (item["name"], item["id"]).

Si la carpeta está vacía o la búsqueda no encuentra nada, devuelve una lista vacía (resultados.Count == 0), no un error.

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.
itemNotFound (Microsoft Graph, 404)No existe una carpeta con ese folderId en la unidad de la sesión.
accessDenied (Microsoft Graph, 403)La conexión no tiene permiso de lectura sobre la unidad o la carpeta.

Descargar solo los PDF de una carpeta:

OneDrive/SharePoint — Connect credential = credential("m365-operaciones")
└─ body:
OneDrive/SharePoint — List files folderId = idCarpetaFacturas → output: archivos
For each f in archivos
└─ If condition = !(bool)f["isFolder"] && f["name"].ToString().EndsWith(".pdf")
└─ then:
OneDrive/SharePoint — Download id = f["id"] destination = "C:\facturas"