Class DriveApp

DriveApp

Permite que scripts criem, encontrem e modifiquem arquivos e pastas no Google Drive. Para acessar arquivos ou pastas em drives compartilhados, use o serviço avançado do 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());
}

Propriedades

PropriedadeTipoDescrição
AccessAccessUm tipo enumerado que representa classes de usuários que podem acessar um arquivo ou pasta, além de usuários individuais que receberam acesso explicitamente.
PermissionPermissionUm tipo enumerado que representa as permissões concedidas aos usuários que podem acessar um arquivo ou pasta, além de usuários individuais que receberam acesso explicitamente.

Métodos

MétodoTipo de retornoBreve descrição
continueFileIterator(continuationToken)FileIteratorRetomar uma iteração de arquivo usando um token de continuação de um iterador anterior.
continueFolderIterator(continuationToken)FolderIteratorRetomar uma iteração de pastas usando um token de continuação de um iterador anterior.
createFile(blob)FileCria um arquivo na raiz do Drive do usuário a partir de um Blob de dados arbitrários.
createFile(name, content)FileCria um arquivo de texto na raiz do Drive do usuário com o nome e o conteúdo fornecidos.
createFile(name, content, mimeType)FileCria um arquivo na raiz do Drive do usuário com o nome, o conteúdo e o tipo MIME fornecidos.
createFolder(name)FolderCria uma pasta na raiz do Drive do usuário com o nome fornecido.
createShortcut(targetId)FileCria e retorna um atalho para o ID do item do Drive fornecido.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCria e retorna um atalho para o ID do item do Drive e a chave de recurso fornecidos.
enforceSingleParent(value)voidAtiva ou desativa o comportamento enforceSingleParent para todas as chamadas que afetam os pais do item.
getFileById(id)FileConsegue o arquivo com o ID fornecido.
getFileByIdAndResourceKey(id, resourceKey)FileConsegue o arquivo com o ID e a chave de recurso fornecidos.
getFiles()FileIteratorRecebe uma coleção de todos os arquivos no Drive do usuário.
getFilesByName(name)FileIteratorRecebe uma coleção de todos os arquivos no Drive do usuário que têm o nome especificado.
getFilesByType(mimeType)FileIteratorRecebe uma coleção de todos os arquivos no Drive do usuário que têm o tipo MIME especificado.
getFolderById(id)FolderConsegue a pasta com o ID fornecido.
getFolderByIdAndResourceKey(id, resourceKey)FolderConsegue a pasta com o ID e a chave de recurso fornecidos.
getFolders()FolderIteratorRecebe uma coleção de todas as pastas no Drive do usuário.
getFoldersByName(name)FolderIteratorRecebe uma coleção de todas as pastas no Drive do usuário que têm o nome especificado.
getRootFolder()FolderRetorna a pasta raiz do Drive do usuário.
getStorageLimit()IntegerRecebe o número de bytes que o usuário pode armazenar no Drive.
getStorageUsed()IntegerRecebe o número de bytes que o usuário está armazenando no Drive.
getTrashedFiles()FileIteratorRecebe uma coleção de todos os arquivos na lixeira do Drive do usuário.
getTrashedFolders()FolderIteratorRecebe uma coleção de todas as pastas na lixeira do Drive do usuário.
searchFiles(params)FileIteratorRecebe uma coleção de todos os arquivos no Drive do usuário que correspondem aos critérios de pesquisa fornecidos.
searchFolders(params)FolderIteratorRecebe uma coleção de todas as pastas no Drive do usuário que correspondem aos critérios de pesquisa especificados.

Documentação detalhada

continueFileIterator(continuationToken)

Retomar uma iteração de arquivo usando um token de continuação de um iterador anterior. Esse método é útil se o processamento de um iterador em uma execução exceder o tempo máximo de execução. Os tokens de continuação geralmente são válidos por uma 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

NomeTipoDescrição
continuationTokenStringUm token de continuação de um iterador de arquivos anterior.

Retornar

FileIterator: uma coleção de arquivos que permaneceram em um iterador anterior quando o token de continuação foi gerado.


continueFolderIterator(continuationToken)

Retomar uma iteração de pastas usando um token de continuação de um iterador anterior. Esse método é útil se o processamento de um iterador em uma execução exceder o tempo máximo de execução. Os tokens de continuação geralmente são válidos por uma 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

NomeTipoDescrição
continuationTokenStringUm token de continuação de um iterador de pastas anterior.

Retornar

FolderIterator: uma coleção de pastas que permaneceram em um iterador anterior quando o token de continuação foi gerado.


createFile(blob)

Cria um arquivo na raiz do Drive do usuário a partir de um Blob de dados arbitrários.

Parâmetros

NomeTipoDescrição
blobBlobSourceOs dados do novo arquivo.

Retornar

File: o novo arquivo.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

createFile(name, content)

Cria um arquivo de texto na raiz do Drive do usuário com o nome e o conteúdo fornecidos. Gera uma exceção se content for maior que 50 MB.

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

Parâmetros

NomeTipoDescrição
nameStringO nome do novo arquivo.
contentStringO conteúdo do novo arquivo.

Retornar

File: o novo arquivo.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

createFile(name, content, mimeType)

Cria um arquivo na raiz do Drive do usuário com o nome, o conteúdo e o tipo MIME fornecidos. Gera uma exceção se content for maior 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

NomeTipoDescrição
nameStringO nome do novo arquivo.
contentStringO conteúdo do novo arquivo.
mimeTypeStringO tipo MIME do novo arquivo.

Retornar

File: o novo arquivo.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

createFolder(name)

Cria uma pasta na raiz do Drive do usuário com o nome fornecido.

Parâmetros

NomeTipoDescrição
nameStringO nome da nova pasta.

Retornar

Folder: a nova pasta.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

createShortcut(targetId)

Cria e retorna um atalho para o ID do item do Drive fornecido.

Parâmetros

NomeTipoDescrição
targetIdStringO ID do arquivo ou da pasta de destino.

Retornar

File: o novo atalho.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Cria e retorna um atalho para o ID do item do Drive e a chave de recurso fornecidos. Uma chave de recurso é um parâmetro adicional que precisa ser transmitido para acessar o arquivo ou a pasta de destino que foi compartilhado usando um link.

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

NomeTipoDescrição
targetIdStringO ID do arquivo ou da pasta de destino.
targetResourceKeyStringA chave de recurso do arquivo ou da pasta de destino.

Retornar

File: o novo atalho.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

enforceSingleParent(value)

Ativa ou desativa o comportamento enforceSingleParent para todas as chamadas que afetam os pais do item.

Confira mais detalhes no blog Simplificar a estrutura de pastas e os modelos de compartilhamento do Google Drive.

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

Parâmetros

NomeTipoDescrição
valueBooleanO novo estado da flag enforceSingleParent.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFileById(id)

Consegue o arquivo com o ID fornecido. Gera uma exceção de script se o arquivo não existir ou se o usuário não tiver permissão para acessá-lo.

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

NomeTipoDescrição
idStringO ID do arquivo.

Retornar

File: o arquivo com o ID fornecido.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFileByIdAndResourceKey(id, resourceKey)

Consegue o arquivo com o ID e a chave de recurso fornecidos. As chaves de recurso são um parâmetro adicional que precisa ser transmitido para acessar arquivos compartilhados por link.

Gera uma exceção de script se o arquivo não existir ou se o usuário não tiver permissão para acessá-lo.

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

NomeTipoDescrição
idStringO ID do arquivo.
resourceKeyStringA chave de recurso da pasta.

Retornar

File: o arquivo com o ID fornecido.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFiles()

Recebe uma coleção de todos os arquivos no Drive do usuário.

Retornar

FileIterator: uma coleção de todos os arquivos no Drive do usuário.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFilesByName(name)

Recebe uma coleção de todos os arquivos no Drive do usuário que têm o nome especificado.

Parâmetros

NomeTipoDescrição
nameStringO nome dos arquivos a serem encontrados.

Retornar

FileIterator: uma coleção de todos os arquivos no Drive do usuário que têm o nome especificado.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFilesByType(mimeType)

Recebe uma coleção de todos os arquivos no Drive do usuário que têm o tipo MIME especificado.

Parâmetros

NomeTipoDescrição
mimeTypeStringO tipo MIME dos arquivos a serem encontrados.

Retornar

FileIterator: uma coleção de todos os arquivos no Drive do usuário que têm o tipo MIME especificado.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFolderById(id)

Consegue a pasta com o ID fornecido. Gera uma exceção de script se a pasta não existir ou o usuário não tiver permissão para acessá-la.

Parâmetros

NomeTipoDescrição
idStringO ID da pasta.

Retornar

Folder: a pasta com o ID fornecido.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFolderByIdAndResourceKey(id, resourceKey)

Consegue a pasta com o ID e a chave de recurso fornecidos. As chaves de recurso são um parâmetro adicional que precisa ser transmitido para acessar pastas compartilhadas usando um link.

Gera uma exceção de script se a pasta não existir ou se o usuário não tiver permissão para acessá-la.

Parâmetros

NomeTipoDescrição
idStringO ID da pasta.
resourceKeyStringA chave de recurso da pasta.

Retornar

Folder: a pasta com o ID fornecido.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFolders()

Recebe uma coleção de todas as pastas no Drive do usuário.

Retornar

FolderIterator: uma coleção de todas as pastas no Drive do usuário.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getFoldersByName(name)

Recebe uma coleção de todas as pastas no Drive do usuário que têm o nome especificado.

Parâmetros

NomeTipoDescrição
nameStringO nome das pastas a serem encontradas.

Retornar

FolderIterator: uma coleção de todas as pastas no Drive do usuário que têm o nome especificado.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getRootFolder()

Retorna a pasta raiz do Drive do usuário.

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

Retornar

Folder: a pasta raiz do Drive do usuário.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getStorageLimit()

Recebe o número de bytes que o usuário pode armazenar no Drive.

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

Retornar

Integer: o número de bytes que o usuário pode armazenar no Drive.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getStorageUsed()

Recebe o número de bytes que o usuário está armazenando no Drive.

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

Retornar

Integer: o número de bytes que o usuário está armazenando no Drive.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getTrashedFiles()

Recebe uma coleção de todos os arquivos na lixeira do Drive do usuário.

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

Retornar

FileIterator: uma coleção de arquivos na lixeira.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

getTrashedFolders()

Recebe uma coleção de todas as pastas na lixeira do Drive do usuário.

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

Retornar

FolderIterator: uma coleção de pastas na lixeira.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

searchFiles(params)

Recebe uma coleção de todos os arquivos no Drive do usuário que correspondem aos critérios de pesquisa fornecidos. Os critérios de pesquisa estão detalhados na documentação do SDK do Google Drive. O serviço do Drive usa a v2 da API Drive, e alguns campos de consulta são diferentes da v3. Analise as diferenças entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string. Portanto, use corretamente aspas invertidas (por exemplo, "title contains 'Gulliver\\'s Travels'" ou '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

NomeTipoDescrição
paramsStringOs critérios de pesquisa, conforme detalhado na documentação do SDK do Google Drive.

Retornar

FileIterator: uma coleção de todos os arquivos no Drive do usuário que correspondem aos critérios de pesquisa.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

searchFolders(params)

Recebe uma coleção de todas as pastas no Drive do usuário que correspondem aos critérios de pesquisa fornecidos. Os critérios de pesquisa estão detalhados na documentação do SDK do Google Drive. O serviço do Drive usa a v2 da API Drive, e alguns campos de consulta são diferentes da v3. Analise as diferenças entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string. Portanto, use corretamente aspas invertidas (por exemplo, "title contains 'Gulliver\\'s Travels'" ou '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

NomeTipoDescrição
paramsStringOs critérios de pesquisa, conforme detalhado na documentação do SDK do Google Drive.

Retornar

FolderIterator: uma coleção de todas as pastas no Drive do usuário que correspondem aos critérios de pesquisa.

Autorização

Os scripts que usam esse método exigem autorização com um ou mais dos seguintes escopos:

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

Métodos obsoletos