Class DriveApp

DriveApp

Permite que las secuencias de comandos creen, busquen y modifiquen archivos y carpetas en Google Drive. Para acceder a los archivos o las carpetas de las unidades compartidas, usa el servicio avanzado de Drive.

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

Propiedades

PropiedadTipoDescripción
AccessAccessUna enumeración que representa a 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.
PermissionPermissionUna 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 continuación de un iterador anterior.
continueFolderIterator(continuationToken)FolderIteratorReanuda una iteración de 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 elemento Blob determinado de datos arbitrarios.
createFile(name, content)FileCrea un archivo de texto en la raíz de la unidad de Drive del usuario con el nombre y el contenido dados.
createFile(name, content, mimeType)FileCrea un archivo en la raíz de la unidad 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 determinado.
createShortcut(targetId)FileCrea un acceso directo al ID del elemento de Drive proporcionado y lo muestra.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCrea un acceso directo al ID del elemento de Drive y la clave de recurso proporcionados, y lo muestra.
enforceSingleParent(value)voidHabilita o inhabilita el comportamiento applySingleParent 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 especificados.
getFiles()FileIteratorObtiene una colección de todos los archivos en la unidad de Drive del usuario.
getFilesByName(name)FileIteratorObtiene una colección de todos los archivos en la unidad de Drive del usuario que tienen un nombre determinado.
getFilesByType(mimeType)FileIteratorObtiene una colección de todos los archivos en la unidad de Drive del usuario que tienen un 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 del 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 de la unidad 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 la unidad de 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 de Drive del usuario que coinciden con los criterios de búsqueda determinados.
searchFolders(params)FolderIteratorObtiene una colección de todas las carpetas de la unidad de Drive del usuario que coinciden con los criterios de búsqueda determinados.

Documentación detallada

continueFileIterator(continuationToken)

Reanuda una iteración de archivo 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. Los tokens de continuación suelen tener una validez de 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 continuación de un iterador de archivos anterior.

Devolvedor

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


continueFolderIterator(continuationToken)

Reanuda una iteración de 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. Los tokens de continuación suelen tener una validez de 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 continuación de un iterador de carpetas anterior.

Devolvedor

FolderIterator: Es una colección de carpetas que permanecía 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 elemento Blob determinado de datos arbitrarios.

// Create an image file in Google Drive using the Maps service.
var blob = Maps.newStaticMap().setCenter('76 9th Avenue, New York NY').getBlob();
DriveApp.createFile(blob);

Parámetros

NombreTipoDescripción
blobBlobSourceLos datos del archivo nuevo.

Devolvedor

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 de Drive del usuario con el nombre y el contenido dados. Arroja una excepción si content supera los 50 MB.

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

Parámetros

NombreTipoDescripción
nameStringEl nombre del archivo nuevo.
contentStringEl contenido del archivo nuevo.

Devolvedor

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 de Drive del usuario con el nombre, el contenido y el tipo de MIME especificados. Arroja una excepción si content supera los 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
nameStringEl nombre del archivo nuevo.
contentStringEl contenido del archivo nuevo.
mimeTypeStringEs el tipo de MIME del archivo nuevo.

Devolvedor

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

Parámetros

NombreTipoDescripción
nameStringEl nombre de la carpeta nueva.

Devolvedor

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 muestra.

Parámetros

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

Devolvedor

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 alcances:

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Crea un acceso directo al ID del elemento de Drive y la clave de recurso 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ó mediante 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.
targetResourceKeyStringLa clave de recurso del archivo o la carpeta de destino.

Devolvedor

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 alcances:

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

enforceSingleParent(value)

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

Para obtener más información, consulta el blog Simplifica la estructura de carpetas y los modelos de uso compartido de Google Drive.

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

Parámetros

NombreTipoDescripción
valueBooleanEl estado nuevo de la marca obligatorioSingleParent.

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. Muestra 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
idStringEl ID del archivo.

Devolvedor

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 especificados. 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.

Muestra 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 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
idStringEl ID del archivo.
resourceKeyStringLa clave del recurso de la carpeta.

Devolvedor

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 la unidad de Drive del usuario.

Devolvedor

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

getFilesByName(name)

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

Parámetros

NombreTipoDescripción
nameStringEl nombre de los archivos a buscar.

Devolvedor

FileIterator: Es una colección de todos los archivos en la unidad de Drive del usuario que tienen un 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 en la unidad de Drive del usuario que tienen un tipo de MIME determinado.

Parámetros

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

Devolvedor

FileIterator: Es una colección de todos los archivos en la unidad de Drive del usuario que tienen un 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. Muestra 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
idStringEl ID de la carpeta.

Devolvedor

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 del 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.

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

Parámetros

NombreTipoDescripción
idStringEl ID de la carpeta.
resourceKeyStringLa clave del recurso de la carpeta.

Devolvedor

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.

Devolvedor

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 de la unidad de Drive del usuario que tienen el nombre determinado.

Parámetros

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

Devolvedor

FolderIterator: Es una colección de todas las carpetas de la unidad de Drive del usuario que tienen un 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 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());

Devolvedor

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());

Devolvedor

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());

Devolvedor

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 de la unidad 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());
}

Devolvedor

FileIterator: Es una colección de archivos de 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());
}

Devolvedor

FolderIterator: Es una colección de carpetas de 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 de Drive 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 de campo entre la versión 2 y la v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, por lo que debes asegurarte de escapar las comillas de forma correcta (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.""
var files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

Parámetros

NombreTipoDescripción
paramsStringLos criterios de búsqueda, como se detallan en la documentación del SDK de Google Drive

Devolvedor

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

  • 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 de Drive 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 de campo entre la versión 2 y la v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, por lo que debes asegurarte de escapar las comillas de forma correcta (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.
var folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  var folder = folders.next();
  console.log(folder.getName());
}

Parámetros

NombreTipoDescripción
paramsStringLos criterios de búsqueda, como se detallan en la documentación del SDK de Google Drive

Devolvedor

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 alcances:

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

Métodos obsoletos