Ir al contenido

OneDrive/SharePoint — Share

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

Comparte un archivo o carpeta de dos formas: creando un enlace para compartir o invitando a un usuario por email. En ambos casos eliges el nivel de acceso (ver o editar), así el robot entrega documentos sin que nadie tenga que compartirlos a mano.

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.

  • Si indicas email, se invita a esa persona con el acceso de role. La invitación exige que inicie sesión con esa cuenta para abrir el archivo, y se le envía un correo si notify es true. scope no se usa en este modo.
  • Si no indicas email, se crea un enlace; con scope defines si sirve solo para personas de la organización (organization) o para cualquiera que lo tenga (anonymous).

Ten en cuenta:

  • Las políticas de uso compartido de la organización mandan: si los enlaces anónimos o el uso compartido externo están deshabilitados en Microsoft 365, la actividad falla.
  • Crear un enlace con el mismo role y scope para el mismo archivo devuelve el enlace existente, así que es seguro repetirla. Invitar de nuevo a la misma persona actualiza su permiso (y puede volver a enviarle el correo si notify es true).
ParámetroTipoPor defectoDescripción
idstring—ID del archivo o carpeta.
ParámetroTipoPor defectoDescripción
sessionZoanMicrosoftFilesSession—Sesión de Connect. Dentro del body de Connect se hereda.
rolestring"view"Nivel de acceso: view (solo ver) o edit (ver y editar).
scopestring"organization"Alcance del enlace (cuando no hay email): organization (personas de la organización) o anonymous (cualquiera con el enlace).
emailstring—Correo de la persona a invitar. Si se indica, invita en vez de crear un enlace.
notifybooltrueEnviar el correo de invitación (solo con email).

Devuelve un Dictionary<string,object> cuya forma depende del modo:

ModoClaves
Enlace (sin email)link (URL para compartir), role, scope.
Invitación (con email)permissionId (ID del permiso concedido), role, email.

Usa compartido["link"] para enviar el enlace por correo o guardarlo en un reporte.

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.id está vacío o su expresión dio null.
itemNotFound (Microsoft Graph, 404)No hay un elemento con ese ID en la unidad de la sesión.
accessDenied (Microsoft Graph, 403)La cuenta no puede compartir ese elemento, o la política de la organización no permite ese tipo de enlace (por ejemplo anonymous) o invitar a personas externas. Usa scope = organization o pide el cambio al administrador de Microsoft 365.
invalidRequest (Microsoft Graph, 400)El correo de email no es válido.
OneDrive/SharePoint — Connect credential = credential("m365-operaciones")
└─ body:
OneDrive/SharePoint — Upload path = rutaReporte destination = "Reportes/mensual.pdf" → output: subido
OneDrive/SharePoint — Share id = subido["id"] scope = organization role = view → output: compartido
Log message = "Enlace del reporte: " + compartido["link"]