Ir al contenido

Google Drive — Share

Tipo: googledrive-share  ·  Paquete: Google Drive v1.0.5  ·  Salida: Dictionary<string,object>

Comparte un archivo o carpeta otorgando un permiso. Define quién accede (type) y con qué nivel (role): lector, comentarista o editor. Así el robot entrega un documento a un cliente o abre una carpeta a un equipo sin pasos manuales.

Crea un permiso nuevo sobre el elemento id; los permisos que ya tenía se conservan. Compartir una carpeta da acceso a todo su contenido.

  • type = user o group: comparte con una persona o un grupo de Google; email es obligatorio.
  • type = anyone: cualquiera con el enlace (no hace falta email). El enlace es el webViewLink del archivo.
  • type = domain: comparte con todas las cuentas de un dominio de Google Workspace; domain es obligatorio (p. ej. example.com). Desde la versión 1.0.5.

notify envía el correo de aviso de Google a la persona o grupo. Solo aplica a user y group; con domain y anyone no se envía aviso.

ParámetroTipoPor defectoDescripción
idstring—ID del archivo o carpeta.
rolestring—Nivel del permiso: reader (lector), commenter (comentarista) o writer (editor).
ParámetroTipoPor defectoDescripción
sessionZoanGoogleDriveSession—Sesión de Google Drive — Connect. Dentro del body de Connect se hereda y puedes omitirla.
typestringuserA quién se concede: user, group, domain o anyone.
emailstring—Email del usuario o grupo. Obligatorio con type user o group.
domainstring—Dominio que recibe el permiso, p. ej. example.com. Obligatorio con type domain. Desde la versión 1.0.5.
notifybooltrueEnviar el correo de notificación de Google al destinatario (user/group).

Devuelve un Dictionary con el permiso creado:

ClaveTipoContenido
permissionIdstringID del permiso (Google usa anyoneWithLink para el permiso de enlace).
rolestringNivel concedido: reader, commenter o writer.
typestringTipo de destinatario: user, group, domain o anyone.
emailstringEmail del destinatario; nulo con domain y anyone.
domainstringDominio del permiso con type domain; nulo en los demás.
MensajeCausa y solución
'id' es obligatorio.id quedó vacío o su expresión dio nulo.
'email' es obligatorio cuando type es 'user' o 'group'.Falta el email del destinatario.
'domain' es obligatorio cuando type es 'domain' (por ejemplo, example.com).Con type domain, indica el dominio en domain.
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 BadRequest…Email inexistente en Google, un dominio que no es de Google Workspace, o una política del Workspace impide compartir fuera de la organización.
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.

Subir un informe y compartirlo con un cliente como lector, avisándole por correo:

Google Drive — Connect credential = credential("drive-operaciones")
└─ body:
Google Drive — Upload path = rutaInforme folderId = idEntregas → output: subido
Google Drive — Share id = subido["id"] type = user email = correoCliente role = reader → output: permiso
Log message = "Compartido con " + permiso["email"] + ": " + subido["webViewLink"]