Class DriveApp

App de Drive

Permite que las secuencias de comandos creen, encuentren y modifiquen archivos y carpetas en Google Drive. 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 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 una enumeración 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 muestraDescripción breve
continueFileIterator(continuationToken)FileIteratorReanuda una iteración de archivo con un token de Continuation de un iterador anterior.
continueFolderIterator(continuationToken)FolderIteratorReanuda una iteración de carpetas con un token de Continuation de un iterador anterior.
createFile(blob)FileCrea un archivo en la raíz 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 Drive del usuario con el nombre y el contenido especificados.
createFile(name, content, mimeType)FileCrea un archivo en la raíz de Drive 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 indicado.
createShortcut(targetId)FileCrea un acceso directo al ID de elemento de Drive proporcionado y lo muestra.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCrea un atajo al ID de elemento y la clave de recurso de Drive proporcionados, y lo muestra.
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 de Drive del usuario.
getFilesByName(name)FileIteratorObtiene una colección de todos los archivos de la unidad de Drive del usuario que tengan el nombre determinado.
getFilesByType(mimeType)FileIteratorObtiene una colección de todos los archivos de la unidad del usuario que tienen el tipo MIME determinado.
getFolderById(id)FolderObtiene la carpeta con el ID determinado.
getFolderByIdAndResourceKey(id, resourceKey)FolderObtiene la carpeta con el ID y la clave de recursos determinados.
getFolders()FolderIteratorObtiene una colección de todas las carpetas de la unidad del usuario.
getFoldersByName(name)FolderIteratorObtiene una colección de todas las carpetas de Drive del usuario que tienen el nombre determinado.
getRootFolder()FolderObtiene la carpeta en la 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 de Drive del usuario.
getTrashedFolders()FolderIteratorObtiene una colección de todas las carpetas de la papelera de Drive del usuario.
searchFiles(params)FileIteratorObtiene una colección de todos los archivos de la unidad del usuario que coinciden con los criterios de búsqueda determinados.
searchFolders(params)FolderIteratorObtiene una colección de todas las carpetas de la unidad del usuario que coincidan con los criterios de búsqueda determinados.

Documentación detallada

continueFileIterator(continuationToken)

Reanuda una iteración de archivo con un token de Continuation 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 Continuation 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
continuationTokenStringUn token de Continuation de un iterador de archivos anterior.

Volver

FileIterator: Es un conjunto de archivos que permanecieron en un iterador anterior cuando se generó el token de Continuation.


continueFolderIterator(continuationToken)

Reanuda una iteración de carpetas con un token de Continuation 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 Continuation 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
continuationTokenStringUn token de Continuation 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 Continuation.


createFile(blob)

Crea un archivo en la raíz 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 ámbitos:

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

createFile(name, content)

Crea un archivo de texto en la raíz de Drive del usuario con el nombre y el contenido especificados. Lanza una excepción si content es superior a 50 MB.

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

Parámetros

NombreTipoDescripción
nameStringEs el nombre 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 ámbitos:

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

createFile(name, content, mimeType)

Crea un archivo en la raíz de Drive del usuario con el nombre, el contenido y el tipo de MIME especificados. Lanza una excepción si content es superior a 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
nameStringEs el nombre del archivo nuevo.
contentStringEs el contenido del archivo nuevo.
mimeTypeStringEs el tipo 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 ámbitos:

  • 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 indicado.

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 ámbitos:

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

createShortcut(targetId)

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

Parámetros

NombreTipoDescripción
targetIdStringEl ID del archivo o la carpeta de destino

Volver

File: Es el nuevo atajo.

Autorización

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

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Crea un atajo al ID de elemento y la clave de recurso de Drive proporcionados, y lo muestra. 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
targetIdStringEl ID del archivo o la carpeta de destino
targetResourceKeyStringEs la clave de recurso del archivo o la carpeta de destino.

Volver

File: Es el nuevo atajo.

Autorización

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

  • 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 Simplifica el modelo de uso compartido y la estructura de las carpetas de Google Drive 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 ámbitos:

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

getFileById(id)

Obtiene el archivo con el ID determinado. Lanza una excepción de secuencia de comandos si el archivo no existe o 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 ámbitos:

  • 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 con un vínculo.

Lanza una excepción de secuencias de comandos si el archivo no existe o 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 de recursos 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 ámbitos:

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

getFiles()

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

Volver

FileIterator: Es una colección de todos los archivos 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 ámbitos:

  • 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 tengan el nombre determinado.

Parámetros

NombreTipoDescripción
nameStringEs el nombre de los archivos que se buscarán.

Volver

FileIterator: Es una colección de todos los archivos de 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 ámbitos:

  • 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 MIME determinado.

Parámetros

NombreTipoDescripción
mimeTypeStringEs el tipo MIME de los archivos que se buscarán.

Volver

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

Autorización

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

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

getFolderById(id)

Obtiene la carpeta con el ID determinado. Lanza 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 ámbitos:

  • 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 recursos determinados. Las claves de recursos son un parámetro adicional que se debe pasar para acceder a las carpetas que se compartieron con un vínculo.

Genera 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 de recursos 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 ámbitos:

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

getFolders()

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

Volver

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

Autorización

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

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

getFoldersByName(name)

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

Parámetros

NombreTipoDescripción
nameStringEs el nombre de las carpetas que se buscarán.

Volver

FolderIterator: Es una colección de todas las carpetas 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 ámbitos:

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

getRootFolder()

Obtiene la carpeta en la 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 del usuario.

Autorización

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

  • 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 ámbitos:

  • 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 ámbitos:

  • 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 de 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 ámbitos:

  • 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 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 un conjunto 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 ámbitos:

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

searchFiles(params)

Obtiene una colección de todos los archivos de la unidad del usuario que coinciden con los criterios de búsqueda determinados. 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 que 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 para 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
paramsStringLos 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 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 ámbitos:

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

searchFolders(params)

Obtiene una colección de todas las carpetas de la unidad del usuario que coincidan con los criterios de búsqueda determinados. 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 que 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 para 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
paramsStringLos 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 de 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 ámbitos:

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

Métodos obsoletos