Class DriveApp

DriveApp

Permite que os scripts criem, localizem 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.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

Propriedades

PropriedadeTipoDescrição
AccessAccessUm enum que representa classes de usuários que podem acessar um arquivo ou pasta, além de quaisquer usuários individuais que receberam acesso explícito.
PermissionPermissionUm enum que representa as permissões concedidas a usuários que podem acessar um arquivo ou pasta, além de qualquer usuário individual que tenha recebido acesso explicitamente.

Métodos

MétodoTipo de retornoBreve descrição
continueFileIterator(continuationToken)FileIteratorRetoma uma iteração de arquivo usando um token de continuação de um iterador anterior.
continueFolderIterator(continuationToken)FolderIteratorRetoma uma iteração de pasta usando um token de continuação de um iterador anterior.
createFile(blob)FileCria um arquivo na raiz do Drive do usuário com base em um determinado 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 especificados.
createFolder(name)FolderCria uma pasta na raiz do Drive do usuário com o nome informado.
createShortcut(targetId)FileCria e retorna um atalho para o código 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 de aplicação de SingleParent para todas as chamadas que afetam os pais de itens.
getFileById(id)FileRecebe o arquivo com o ID fornecido.
getFileByIdAndResourceKey(id, resourceKey)FileRecebe o arquivo com o ID e a chave de recurso fornecidos.
getFiles()FileIteratorExtrai uma coleção de todos os arquivos no Google Drive do usuário.
getFilesByName(name)FileIteratorExtrai um conjunto de todos os arquivos no Google Drive do usuário com o nome indicado.
getFilesByType(mimeType)FileIteratorExtrai um conjunto de todos os arquivos no Drive do usuário que têm o tipo MIME especificado.
getFolderById(id)FolderExtrai a pasta com o ID fornecido.
getFolderByIdAndResourceKey(id, resourceKey)FolderRecebe a pasta com o ID e a chave de recurso fornecidos.
getFolders()FolderIteratorExtrai uma coleção de todas as pastas no Drive do usuário.
getFoldersByName(name)FolderIteratorExtrai uma coleção de todas as pastas no Drive do usuário com o nome indicado.
getRootFolder()FolderExtrai a pasta na raiz do Drive do usuário.
getStorageLimit()IntegerMostra o número de bytes que o usuário pode armazenar no Drive.
getStorageUsed()IntegerExtrai o número de bytes que o usuário está armazenando no Drive.
getTrashedFiles()FileIteratorExtrai uma coleção de todos os arquivos na lixeira do Drive do usuário.
getTrashedFolders()FolderIteratorExtrai uma coleção de todas as pastas na lixeira do Drive do usuário.
searchFiles(params)FileIteratorExtrai um conjunto de todos os arquivos no Drive do usuário que correspondem aos critérios de pesquisa fornecidos.
searchFolders(params)FolderIteratorExtrai um conjunto de todas as pastas no Drive do usuário que correspondem aos critérios de pesquisa fornecidos.

Documentação detalhada

continueFileIterator(continuationToken)

Retoma 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 têm validade de 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 arquivo anterior.

Retorno

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


continueFolderIterator(continuationToken)

Retoma uma iteração de pasta 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 têm validade de 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 pasta anterior.

Retorno

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


createFile(blob)

Cria um arquivo na raiz do Drive do usuário com base em um determinado Blob de dados arbitrários.

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

NomeTipoDescrição
blobBlobSourceOs dados do novo arquivo.

Retorno

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. Lança 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.

Retorno

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

Retorno

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

Parâmetros

NomeTipoDescrição
nameStringO nome da nova pasta.

Retorno

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 código do item do Drive fornecido.

Parâmetros

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

Retorno

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 extra que precisa ser transmitido para acessar o arquivo ou a pasta de destino 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 pasta de destino.
targetResourceKeyStringA chave de recurso do arquivo ou pasta de destino.

Retorno

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 de aplicação de SingleParent para todas as chamadas que afetam os pais de itens.

Veja mais detalhes no blog Como simplificar a estrutura de pastas e os modelos de compartilhamento do Google Drive (em inglês).

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

Parâmetros

NomeTipoDescrição
valueBooleanO novo estado da sinalização forceSingleParent.

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)

Recebe o arquivo com o ID fornecido. Emite uma exceção de script se o arquivo não existir ou 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.

Retorno

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)

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

Uma exceção de script é gerada se o arquivo não existir ou 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.

Retorno

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

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

Retorno

FileIterator: um conjunto de todos os arquivos no Google 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)

Extrai um conjunto de todos os arquivos no Google Drive do usuário com o nome indicado.

Parâmetros

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

Retorno

FileIterator: um conjunto de todos os arquivos no Google Drive do usuário com o nome indicado.

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)

Extrai um conjunto 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.

Retorno

FileIterator: um conjunto 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)

Extrai a pasta com o ID fornecido. Emite 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.

Retorno

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)

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

Emite 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.
resourceKeyStringA chave de recurso da pasta.

Retorno

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

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

Retorno

FolderIterator: um conjunto de todas as pastas no Google 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)

Extrai uma coleção de todas as pastas no Drive do usuário com o nome indicado.

Parâmetros

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

Retorno

FolderIterator: um conjunto de todas as pastas no Drive do usuário com 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()

Extrai a pasta na 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());

Retorno

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

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

Retorno

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

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

Retorno

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

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

Retorno

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

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

Retorno

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)

Extrai um conjunto 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. Observe que o serviço Drive usa a v2 da API Drive e alguns campos de consulta são diferentes da v3. Analise as diferenças de campo entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string. Portanto, faça o escape correta das aspas (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.""
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

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

Retorno

FileIterator: um conjunto de todos os arquivos no Drive do usuário que correspondem aos critérios da 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)

Extrai um conjunto 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. Observe que o serviço Drive usa a v2 da API Drive e alguns campos de consulta são diferentes da v3. Analise as diferenças de campo entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string. Portanto, faça o escape correta das aspas (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.
var folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  var 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.

Retorno

FolderIterator: um conjunto de todas as pastas no Drive do usuário que correspondem aos critérios da 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