Class DriveApp

DriveApp

Permite que las secuencias de comandos creen, encuentren y modifiquen archivos y carpetas en Google Drive. Si bien el servicio integrado de Drive es más fácil de usar, tiene algunas limitaciones. Para acceder a las funciones y la asistencia más actualizadas, y para acceder a archivos o carpetas en unidades compartidas, usa el servicio avanzado de Drive.

// Logs the name of every file in the user's Drive.
const files = DriveApp.getFiles();
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Propiedades

PropiedadTipoDescripción
AccessAccessEs una enumeración que representa las clases de usuarios que pueden acceder a un archivo o una carpeta, además de los usuarios individuales a los que se les otorgó acceso de forma explícita.
PermissionPermissionEs un enum que representa los permisos otorgados a los usuarios que pueden acceder a un archivo o una carpeta, además de los usuarios individuales a los que se les otorgó acceso de forma explícita.

Métodos

MétodoTipo de datos que se devuelveDescripción breve
continueFileIterator(continuationToken)FileIteratorReanuda una iteración de archivos con un token de continuación de un iterador anterior.
continueFolderIterator(continuationToken)FolderIteratorReanuda la iteración de una carpeta con un token de continuación de un iterador anterior.
createFile(blob)FileCrea un archivo en la raíz de la unidad de Drive del usuario a partir de un Blob determinado de datos arbitrarios.
createFile(name, content)FileCrea un archivo de texto en la raíz de la unidad del usuario con el nombre y el contenido especificados.
createFile(name, content, mimeType)FileCrea un archivo en la raíz de la unidad del usuario con el nombre, el contenido y el tipo de MIME especificados.
createFolder(name)FolderCrea una carpeta en la raíz de la unidad de Drive del usuario con el nombre proporcionado.
createShortcut(targetId)FileCrea un acceso directo al ID del elemento de Drive proporcionado y lo devuelve.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCrea un acceso directo al ID del elemento de Drive y a la clave de recurso proporcionados, y lo devuelve.
enforceSingleParent(value)voidHabilita o inhabilita el comportamiento de enforceSingleParent para todas las llamadas que afectan a los elementos superiores.
getFileById(id)FileObtiene el archivo con el ID determinado.
getFileByIdAndResourceKey(id, resourceKey)FileObtiene el archivo con el ID y la clave de recurso determinados.
getFiles()FileIteratorObtiene una colección de todos los archivos en el Drive del usuario.
getFilesByName(name)FileIteratorObtiene una colección de todos los archivos de la unidad de Drive del usuario que tienen el nombre determinado.
getFilesByType(mimeType)FileIteratorObtiene una colección de todos los archivos de la unidad del usuario que tienen el tipo de MIME determinado.
getFolderById(id)FolderObtiene la carpeta con el ID determinado.
getFolderByIdAndResourceKey(id, resourceKey)FolderObtiene la carpeta con el ID y la clave de recurso determinados.
getFolders()FolderIteratorObtiene una colección de todas las carpetas en la unidad de Drive del usuario.
getFoldersByName(name)FolderIteratorObtiene una colección de todas las carpetas del Drive del usuario que tienen el nombre determinado.
getRootFolder()FolderObtiene la carpeta raíz de la unidad de Drive del usuario.
getStorageLimit()IntegerObtiene la cantidad de bytes que el usuario puede almacenar en Drive.
getStorageUsed()IntegerObtiene la cantidad de bytes que el usuario almacena actualmente en Drive.
getTrashedFiles()FileIteratorObtiene una colección de todos los archivos de la papelera del Drive del usuario.
getTrashedFolders()FolderIteratorObtiene una colección de todas las carpetas de la papelera de la unidad de Drive del usuario.
searchFiles(params)FileIteratorObtiene una colección de todos los archivos en la unidad del usuario que coinciden con los criterios de búsqueda proporcionados.
searchFolders(params)FolderIteratorObtiene una colección de todas las carpetas en la unidad del usuario que coinciden con los criterios de búsqueda proporcionados.

Documentación detallada

continueFileIterator(continuationToken)

Reanuda una iteración de archivos con un token de continuación de un iterador anterior. Este método es útil si el procesamiento de un iterador en una ejecución supera el tiempo máximo de ejecución. Por lo general, los tokens de continuación son válidos durante una semana.

// Continues getting a list of all 'Untitled document' files in the user's
// Drive. Creates a file iterator named 'previousIterator'.
const previousIterator = DriveApp.getFilesByName('Untitled document');

// Gets continuation token from the previous file iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous file
// iterator.
const newIterator = DriveApp.continueFileIterator(continuationToken);

// Resumes the file iteration using a continuation token from 'firstIterator'
// and logs the file name.
if (newIterator.hasNext()) {
  const file = newIterator.next();
  console.log(file.getName());
}

Parámetros

NombreTipoDescripción
continuationTokenStringEs un token de continuación de un iterador de archivos anterior.

Volver

FileIterator: Es una colección de archivos que permanecieron en un iterador anterior cuando se generó el token de continuación.


continueFolderIterator(continuationToken)

Reanuda la iteración de una carpeta con un token de continuación de un iterador anterior. Este método es útil si el procesamiento de un iterador en una ejecución supera el tiempo máximo de ejecución. Por lo general, los tokens de continuación son válidos durante una semana.

// Continues getting a list of all folders in user's Drive.
// Creates a folder iterator named 'previousIterator'.
const previousIterator = DriveApp.getFolders();

// Gets continuation token from the previous folder iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous folder
// iterator.
const newIterator = DriveApp.continueFolderIterator(continuationToken);

// Resumes the folder iteration using a continuation token from the previous
// iterator and logs the folder name.
if (newIterator.hasNext()) {
  const folder = newIterator.next();
  console.log(folder.getName());
}

Parámetros

NombreTipoDescripción
continuationTokenStringEs un token de continuación de un iterador de carpetas anterior.

Volver

FolderIterator: Es una colección de carpetas que permanecieron en un iterador anterior cuando se generó el token de continuación.


createFile(blob)

Crea un archivo en la raíz de la unidad de Drive del usuario a partir de un Blob determinado de datos arbitrarios.

Parámetros

NombreTipoDescripción
blobBlobSourceSon los datos del archivo nuevo.

Volver

File: Es el archivo nuevo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

createFile(name, content)

Crea un archivo de texto en la raíz de la unidad del usuario con el nombre y el contenido especificados. Arroja una excepción si content es mayor que 50 MB.

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

Parámetros

NombreTipoDescripción
nameStringNombre del archivo nuevo.
contentStringEs el contenido del archivo nuevo.

Volver

File: Es el archivo nuevo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

Crea un archivo en la raíz de la unidad del usuario con el nombre, el contenido y el tipo de MIME especificados. Se arroja una excepción si content es mayor que 10 MB.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

Parámetros

NombreTipoDescripción
nameStringNombre del archivo nuevo.
contentStringEs el contenido del archivo nuevo.
mimeTypeStringTipo MIME del archivo nuevo.

Volver

File: Es el archivo nuevo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

createFolder(name)

Crea una carpeta en la raíz de la unidad de Drive del usuario con el nombre proporcionado.

Parámetros

NombreTipoDescripción
nameStringEs el nombre de la carpeta nueva.

Volver

Folder: Es la carpeta nueva.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

Crea un acceso directo al ID del elemento de Drive proporcionado y lo devuelve.

Parámetros

NombreTipoDescripción
targetIdStringEs el ID del archivo o la carpeta de destino.

Volver

File: Es el nuevo acceso directo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Crea un acceso directo al ID del elemento de Drive y a la clave de recurso proporcionados, y lo devuelve. Una clave de recurso es un parámetro adicional que se debe pasar para acceder al archivo o la carpeta de destino que se compartió con un vínculo.

// Creates shortcuts for all folders in the user's drive that have a specific
// name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your
// drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and
  // returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(
      folder.getId(),
      folder.getResourceKey(),
  );
}

Parámetros

NombreTipoDescripción
targetIdStringID del archivo o la carpeta de destino
targetResourceKeyStringEs la clave de recurso del archivo o la carpeta de destino.

Volver

File: Es el nuevo acceso directo.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

enforceSingleParent(value)

Habilita o inhabilita el comportamiento de enforceSingleParent para todas las llamadas que afectan a los elementos superiores.

Consulta el blog Simplifying Google Drive’s folder structure and sharing models para obtener más detalles.

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

Parámetros

NombreTipoDescripción
valueBooleanEs el nuevo estado de la marca enforceSingleParent.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive

getFileById(id)

Obtiene el archivo con el ID determinado. Arroja una excepción de secuencia de comandos si el archivo no existe o si el usuario no tiene permiso para acceder a él.

// Gets a list of all files in Google Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');

if (files.hasNext()) {
  // Gets the ID of each file in the list.
  const fileId = files.next().getId();

  // Gets the file name using its ID and logs it to the console.
  console.log(DriveApp.getFileById(fileId).getName());
}

Parámetros

NombreTipoDescripción
idStringEs el ID del archivo.

Volver

File: Es el archivo con el ID determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFileByIdAndResourceKey(id, resourceKey)

Obtiene el archivo con el ID y la clave de recurso determinados. Las claves de recursos son un parámetro adicional que se debe pasar para acceder a los archivos que se compartieron a través de un vínculo.

Arroja una excepción de secuencias de comandos si el archivo no existe o si el usuario no tiene permiso para acceder a él.

// Gets a list of all files in Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');
if (files.hasNext()) {
  // Gets the first file in the list.
  const file = files.next();

  // Gets the ID and resource key.
  const key = file.getResourceKey();
  const id = file.getId();

  // Logs the file name to the console using its ID and resource key.
  console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName());
}

Parámetros

NombreTipoDescripción
idStringEs el ID del archivo.
resourceKeyStringEs la clave del recurso de la carpeta.

Volver

File: Es el archivo con el ID determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

Obtiene una colección de todos los archivos en el Drive del usuario.

Volver

FileIterator: Es una colección de todos los archivos en el Drive del usuario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

Obtiene una colección de todos los archivos de la unidad de Drive del usuario que tienen el nombre determinado.

Parámetros

NombreTipoDescripción
nameStringNombre de los archivos que se buscarán.

Volver

FileIterator: Es una colección de todos los archivos en la unidad de Drive del usuario que tienen el nombre determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

Obtiene una colección de todos los archivos de la unidad del usuario que tienen el tipo de MIME determinado.

Parámetros

NombreTipoDescripción
mimeTypeStringTipo MIME de los archivos que se buscarán.

Volver

FileIterator: Es una colección de todos los archivos del Drive del usuario que tienen el tipo de MIME determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderById(id)

Obtiene la carpeta con el ID determinado. Arroja una excepción de secuencia de comandos si la carpeta no existe o el usuario no tiene permiso para acceder a ella.

Parámetros

NombreTipoDescripción
idStringEs el ID de la carpeta.

Volver

Folder: Es la carpeta con el ID determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderByIdAndResourceKey(id, resourceKey)

Obtiene la carpeta con el ID y la clave de recurso determinados. Las claves de recursos son un parámetro adicional que se debe pasar para acceder a las carpetas que se compartieron a través de un vínculo.

Arroja una excepción de secuencia de comandos si la carpeta no existe o el usuario no tiene permiso para acceder a ella.

Parámetros

NombreTipoDescripción
idStringEs el ID de la carpeta.
resourceKeyStringEs la clave del recurso de la carpeta.

Volver

Folder: Es la carpeta con el ID determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

Obtiene una colección de todas las carpetas en la unidad de Drive del usuario.

Volver

FolderIterator: Es una colección de todas las carpetas de la unidad de Drive del usuario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

Obtiene una colección de todas las carpetas del Drive del usuario que tienen el nombre determinado.

Parámetros

NombreTipoDescripción
nameStringNombre de las carpetas que se buscarán.

Volver

FolderIterator: Es una colección de todas las carpetas en la unidad del usuario que tienen el nombre determinado.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getRootFolder()

Obtiene la carpeta raíz de la unidad de Drive del usuario.

// Gets the user's My Drive folder and logs its name to the console.
console.log(DriveApp.getRootFolder().getName());

// Logs the Drive owner's name to the console.
console.log(DriveApp.getRootFolder().getOwner().getName());

Volver

Folder: Es la carpeta raíz de la unidad de Drive del usuario.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageLimit()

Obtiene la cantidad de bytes que el usuario puede almacenar en Drive.

// Gets the number of bytes the user can store in Drive and logs it to the
// console.
console.log(DriveApp.getStorageLimit());

Volver

Integer: Es la cantidad de bytes que el usuario puede almacenar en Drive.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageUsed()

Obtiene la cantidad de bytes que el usuario almacena actualmente en Drive.

// Gets the number of bytes the user is currently storing in Drive and logs it
// to the console.
console.log(DriveApp.getStorageUsed());

Volver

Integer: Es la cantidad de bytes que el usuario almacena actualmente en Drive.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFiles()

Obtiene una colección de todos los archivos de la papelera del Drive del usuario.

// Gets a list of all the files in the trash of the user's Drive.
const trashFiles = DriveApp.getTrashedFiles();

// Logs the trash file names to the console.
while (trashFiles.hasNext()) {
  const file = trashFiles.next();
  console.log(file.getName());
}

Volver

FileIterator: Es una colección de archivos en la papelera.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFolders()

Obtiene una colección de todas las carpetas de la papelera de la unidad de Drive del usuario.

// Gets a collection of all the folders in the trash of the user's Drive.
const trashFolders = DriveApp.getTrashedFolders();

// Logs the trash folder names to the console.
while (trashFolders.hasNext()) {
  const folder = trashFolders.next();
  console.log(folder.getName());
}

Volver

FolderIterator: Es una colección de carpetas en la papelera.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFiles(params)

Obtiene una colección de todos los archivos en la unidad del usuario que coinciden con los criterios de búsqueda proporcionados. Los criterios de búsqueda se detallan en la documentación del SDK de Google Drive. Ten en cuenta que el servicio de Drive usa la versión 2 de la API de Drive y algunos campos de consulta difieren de la versión 3. Revisa las diferencias entre los campos de v2 y v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, por lo que debes tener cuidado de escapar las comillas correctamente (por ejemplo, "title contains 'Gulliver\\'s Travels'" o 'title contains "Gulliver\'s Travels"').

// Logs the name of every file in the user's Drive that modified after February 28,
// 2022 whose name contains "untitled.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Parámetros

NombreTipoDescripción
paramsStringSon los criterios de búsqueda, como se detalla en la documentación del SDK de Google Drive.

Volver

FileIterator: Es una colección de todos los archivos del Drive del usuario que coinciden con los criterios de búsqueda.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

Obtiene una colección de todas las carpetas en la unidad del usuario que coinciden con los criterios de búsqueda proporcionados. Los criterios de búsqueda se detallan en la documentación del SDK de Google Drive. Ten en cuenta que el servicio de Drive usa la versión 2 de la API de Drive y algunos campos de consulta difieren de la versión 3. Revisa las diferencias entre los campos de v2 y v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, por lo que debes tener cuidado de escapar las comillas correctamente (por ejemplo, "title contains 'Gulliver\\'s Travels'" o 'title contains "Gulliver\'s Travels"').

// Logs the name of every folder in the user's Drive that you own and is starred.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

Parámetros

NombreTipoDescripción
paramsStringSon los criterios de búsqueda, como se detalla en la documentación del SDK de Google Drive.

Volver

FolderIterator: Es una colección de todas las carpetas de la unidad del usuario que coinciden con los criterios de búsqueda.

Autorización

Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

Métodos obsoletos