Me preguntaba si alguien podría echar un vistazo a esto por mí.
Mi empresa tiene un montón de carpetas de clientes en Google Drive que están llenas de contenido (archivos y carpetas). Estoy tratando de tomar todo el contenido existente y moverlo a una carpeta recién creada dentro de cada carpeta de cliente llamada "trabajo de cliente anterior".
Cuando ejecuto el código, hay un problema con el movimiento de carpetas. La creación de la carpeta "trabajo de cliente anterior" funciona bien, al igual que mover los archivos existentes a ella. Pero el código se encuentra con un error al intentar mover carpetas.
Aquí está el código que tengo:
function createOldClientWorkFolder() { var clientContentFolder = DriveApp.getFolderById("IDhere"); var clientFolders = clientContentFolder.getFolders(); while(clientFolders.hasNext()) { var client = clientFolders.next(); var oldWorkFolder = client.createFolder('Old Client Work'); var clientContentFiles = client.getFiles(); var clientContentFolders = client.getFolders(); while (clientContentFiles.hasNext()) { var fileToMove = clientContentFiles.next(); fileToMove.moveTo(oldWorkFolder) } while (clientContentFolders.hasNext()) { var folderToMove = clientContentFolders.next(); folderToMove.moveTo(oldWorkFolder) } } }¡Cualquier ayuda sería apreciada!
(Dado que no ha proporcionado un mensaje de registro/error, supongo que aquí, pero encontré algo similar hace un tiempo mientras intentaba mover carpetas, así que pensé que esto podría ayudar).
moveTo requiere que tenga permiso para el objeto que está tratando de mover. ¿Podría existir la posibilidad de que la secuencia de comandos de su aplicación no tenga el permiso de escritura en la carpeta del cliente real? ( moveTo modifica la propiedad parent del objeto de carpeta que está tratando de mover, por lo que también lee el permiso de escritura, no solo lee).