Ir al contenido

OneDrive/SharePoint — Connect

Tipo: msfiles-connect  ·  Paquete: OneDrive / SharePoint v1.0.5  ·  Salida: ZoanMicrosoftFilesSession

Abre una sesión autenticada con OneDrive o SharePoint a través de Microsoft Graph. Es el punto de partida del paquete: las actividades de archivos (subir, descargar, listar, mover…) y las de listas de SharePoint trabajan sobre esta sesión.

Se autentica con una conexión OAuth de Microsoft 365 de Zoan Cloud y resuelve la unidad sobre la que operar. Tiene dos formas de uso:

  • Con body: las actividades que coloques dentro heredan la sesión automáticamente; al terminar el bloque, se cierra sola (también si una actividad del bloque falla).
  • Sin body: devuelve la sesión como salida; guárdala en una variable, pásala por session a las demás actividades y ciérrala con Close.

Paso a paso:

  1. Obtiene el token de la conexión. La sesión usa ese mismo token hasta cerrarse (no lo renueva); para procesos de más de una hora, abre la sesión por bloques.
  2. Si no indicas driveId, pide a Microsoft Graph la unidad por defecto: el OneDrive de la cuenta de la conexión o, con mailbox, el de ese usuario. Si indicas driveId, lo usa tal cual, sin comprobarlo.
  3. Guarda siteId para las actividades de listas. No se valida aquí: un sitio incorrecto aparece como error en la primera actividad de listas.
ParámetroTipoPor defectoDescripción
credentialcredential—Conexión OAuth de Microsoft 365 de Zoan Cloud, referida por su nombre clave: credential("m365-operaciones").
ParámetroTipoPor defectoDescripción
mailboxstring—Usuario (correo o UPN) cuyo OneDrive se usa cuando no das driveId. Omítelo para usar la cuenta que autorizó la conexión. Obligatorio si la credencial trae un token de aplicación (app-only).
driveIdstring—ID de la unidad de archivos. Si se omite, el OneDrive de la cuenta (o de mailbox). Usa el ID de una biblioteca de documentos de SharePoint para trabajar con sus archivos.
siteIdstring—ID del sitio de SharePoint (contoso.sharepoint.com,<guid>,<guid>). Solo lo necesitan las actividades de listas.

Actividades a ejecutar dentro de la sesión. Heredan la sesión automáticamente y, al terminar, esta se cierra.

Devuelve un ZoanMicrosoftFilesSession. Expone DriveId (la unidad resuelta), SiteId (o null) y Account (el nombre de la persona dueña del OneDrive, el mailbox indicado o me). Si usas body no necesitas la salida (la sesión se hereda sola) y Connect no devuelve nada. Sin body, asígnala a una variable y pásala como session a las demás actividades.

MensajeCausa y solución
Credential 'm365-operaciones' could not be resolved. Verify it exists in Zoan Automation and that there is an active session.No existe una credencial o conexión con ese nombre clave en el ambiente, o el robot no tiene sesión en Zoan Cloud. Revisa el nombre clave (no el legible) y que la conexión esté Conectada.
'credential' no contiene un access_token válido. Revisa la conexión OAuth de Microsoft 365 en Zoan Cloud.La credencial resolvió a un valor vacío. Reconecta la conexión en Zoan Cloud.
InvalidAuthenticationToken (Microsoft Graph, 401)El valor de credential no es un token: suele pasar al escribir "m365-operaciones" en vez de credential("m365-operaciones").
No se pudo determinar la unidad del usuario. Indica 'driveId'.Microsoft Graph no devolvió una unidad para la cuenta o el mailbox. Indica driveId.
itemNotFound / ResourceNotFound (Microsoft Graph, 404)El mailbox no existe o no tiene OneDrive aprovisionado.
accessDenied (Microsoft Graph, 403)La conexión no tiene permiso para leer la unidad de ese usuario (falta Files.ReadWrite.All).

Para reintentar ante fallos temporales de Microsoft 365, envuelve el bloque en Retry; para tratar el error y continuar, en Try / Catch.

OneDrive/SharePoint — Connect credential = credential("m365-operaciones")
└─ body:
OneDrive/SharePoint — Upload path = "C:\reportes\hoy.pdf" destination = "Informes/hoy.pdf" → output: subido
OneDrive/SharePoint — Share id = subido["id"] email = "cliente@correo.com" role = view

Archivos y listas de un mismo sitio de SharePoint:

OneDrive/SharePoint — Connect credential = credential("m365-operaciones") siteId = idSitio driveId = idBiblioteca
└─ body:
OneDrive/SharePoint — List files → output: documentos
SharePoint — Get list items list = "Solicitudes" → output: solicitudes