Class DriveApp

DriveApp

Permite que las secuencias de comandos creen, busquen 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.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

Propiedades

PropiedadTipoDescripción
AccessAccessUna enumeración que representa las clases de usuarios que pueden acceder a un archivo o una carpeta, además de cualquier usuarios a los que se les otorgó acceso explícitamente.
PermissionPermissionUna enumeración que representa los permisos otorgados a los usuarios que pueden acceder a un archivo o una carpeta, además de todos los usuarios individuales a los que se les otorgó acceso explícito.

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 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 especificados.
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 de 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 de aplicarSingleParent para todas las llamadas que afecten 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 de la unidad de 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 de Drive del usuario que tengan 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 especificados.
getFolders()FolderIteratorObtiene una colección de todas las carpetas de 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 está almacenando 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 Drive del usuario.
searchFiles(params)FileIteratorObtiene una colección de todos los archivos de la unidad de Drive del usuario que coinciden con la búsqueda determinada con tus criterios.
searchFolders(params)FolderIteratorObtiene una colección de todas las carpetas de la unidad de Drive del usuario que coinciden con la búsqueda determinada con tus criterios.

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 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
continuationTokenStringUn token de continuación de un iterador de archivo anterior.

Volver

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


continueFolderIterator(continuationToken)

Reanuda una iteración de carpeta con un token de continuación de un iterador anterior. Este método es 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
continuationTokenStringUn token de continuación de un iterador de carpeta anterior.

Volver

FolderIterator: Es una colección de carpetas que permanecieron en un iterador anterior cuando la continuación se generó el token de sesió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.

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

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 de Drive del usuario con el nombre y el contenido especificados. Arroja un 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
nameStringEs el nombre del archivo nuevo.
contentStringEl 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 de Drive del usuario con el nombre, el contenido y el tipo de MIME especificados. Lanzamientos 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
nameStringEs el nombre del archivo nuevo.
contentStringEl contenido del archivo nuevo.
mimeTypeStringEs el tipo de 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 determinado.

Parámetros

NombreTipoDescripción
nameStringEl 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 de elemento de Drive proporcionado y lo muestra.

Parámetros

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

Volver

File: Es la nueva combinación de teclas.

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. Un recurso es un parámetro adicional que se debe pasar para acceder al archivo o a la carpeta de destino 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 del recurso del archivo o la carpeta de destino.

Volver

File: Es la nueva combinación de teclas.

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 aplicarSingleParent para todas las llamadas que afecten a los elementos superiores.

Consulta el blog Simplificación de la estructura de carpetas de Google Drive y los modelos de uso compartido para conocer más detalles.

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

Parámetros

NombreTipoDescripción
valueBooleanEl nuevo estado de la marca applySingleParent.

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 el usuario no tiene permiso para acceder.

// 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 especificados. Las claves de recursos son un parámetro adicional que se deben pasar para acceder a archivos que se compartieron mediante un vínculo.

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

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

Volver

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

Parámetros

NombreTipoDescripción
nameStringEl 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 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 de la unidad de Drive del usuario que tengan el tipo de MIME determinado.

Parámetros

NombreTipoDescripción
mimeTypeStringEl tipo de MIME 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 MIME determinado. el tipo de letra.

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 a la 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.

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

Muestra una excepción a la 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.
resourceKeyStringLa 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 de 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 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.

Volver

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

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 está almacenando 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 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());
}

Volver

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 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 de la unidad de Drive del usuario que coinciden con la búsqueda determinada con tus criterios. Los criterios de búsqueda se detallan en la documentación del SDK de Google Drive. Ten en cuenta que la carpeta Drive usa la v2 de la API de Drive y algunos campos de consulta difieren de la v3. Revisa el campo diferencias entre v2 y v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, así que ten cuidado para 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 detalla en la documentación del SDK de Google Drive

Volver

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

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 la búsqueda determinada con tus criterios. Los criterios de búsqueda se detallan en la documentación del SDK de Google Drive. Ten en cuenta que la carpeta Drive usa la v2 de la API de Drive y algunos campos de consulta difieren de la v3. Revisa el campo diferencias entre v2 y v3.

El argumento params es una cadena de consulta que puede contener valores de cadena, así que ten cuidado para 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 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 la búsqueda. con tus criterios.

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