Como cambiar permisos de un fichero con Google Apps Script

En muchas ocasiones nos puede resultar útil poder modificar los permisos de un fichero de Google ( spreadsheets sobre todo ), así como copias para ciertos usuarios , o durante la preparación para distribuir información a un grupo de personas. Con Google Apps Script podemos automatizar de una forma muy sencilla la asignación de permisos a un fichero.

Primero de todo, hemos de tener claro que toda la gestión se hace a través de DriveApp, es decir, si queremos dar permisos a un spreadsheet o un doc, por ejemplo, primero deberemos obtener su id.

Ya veréis que es muy sencillo: 

function SetPermisos() 
{
    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var id = spreadsheet.getId();
    DriveApp.getFileById(id).setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
}

El tipo de acceso puede tener diferentes opciones:

tipos de acceso google apps script
ANYONE, ANYONE_WITH_LINK,DOMAIN,DOMAIN_WITH_LINK, PRIVATE

De la misma manera podemos asignar diferentes tipos de permisos:
Tipos de permisos Google Apps Script
COMMENT, EDIT, FILE_ORGANIZER,NONE,ORGANIZER,OWNER,VIEW


Como veis es muy sencillo cambiar permisos de un fichero de Drive con Google Apps Script.

Si lo que necesitas es cambiar permisos en todo un árbol de carpetas, tal vez puede interesarte este otro artículo que te enseñará a cambiar permisos de forma recursiva con Google Apps Script

No vaciléis en hacerme llegar vuestras dudas

Nos vemos!




3 comentarios:

  1. Buenas noches, es que la seguridad me la da al primer nivel de carpetas, a las sub carpetas no me queda la seguridad. Como hago que aplique a todas las subcarpetas y archivos que tenga las sub carpetas.
    Solo que se pueda ver

    ResponderEliminar
    Respuestas
    1. He implementado un ejemplo de lo que pedías: https://www.tutorialesgoogleappscripts.com/2021/07/como-cambiar-permisos-de-forma-recursiva-con-google-apps-script.html Espero que te sirva! Nos vemos

      Eliminar
  2. ¿Cómo sería un SCRIPT para dar permiso y quitárselo a un usuario en concreto u a otro?

    ResponderEliminar

Tal vez te interese