Class DriveApp

DriveApp

Permite que os 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.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var 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 qualquer usuários que receberam acesso explícito.
PermissionPermissionUma enumeração que representa as permissões concedidas a usuários que podem acessar um arquivo ou pasta, além das usuários individuais que receberam acesso explícito.

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 fornecidos.
createFolder(name)FolderCria uma pasta na raiz do Drive do usuário com o nome determinado.
createShortcut(targetId)FileCria um atalho para o código de item do Google Drive fornecido e o retorna.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCria um atalho para o ID do item do Drive e a chave de recurso fornecidos e o retorna.
enforceSingleParent(value)voidAtiva ou desativa o comportamento de applySingleParent para todas as chamadas que afetam os pais do item.
getFileById(id)FileExtrai o arquivo com o ID fornecido.
getFileByIdAndResourceKey(id, resourceKey)FileRecebe o arquivo com o ID e a chave de recurso fornecidos.
getFiles()FileIteratorRecebe uma coleção de todos os arquivos no Google Drive do usuário.
getFilesByName(name)FileIteratorRecebe uma coleção de todos os arquivos no Google Drive do usuário que têm o nome determinado.
getFilesByType(mimeType)FileIteratorRecebe uma coleção de todos os arquivos no Drive do usuário que têm o tipo MIME especificado.
getFolderById(id)FolderRecebe a pasta com o ID fornecido.
getFolderByIdAndResourceKey(id, resourceKey)FolderRecebe a pasta com o ID e a chave de recurso fornecidos.
getFolders()FolderIteratorRecebe uma coleção de todas as pastas no Google Drive do usuário.
getFoldersByName(name)FolderIteratorRecebe uma coleção de todas as pastas no Google Drive do usuário que tenham o nome determinado.
getRootFolder()FolderExtrai a pasta na 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 à pesquisa especificada critérios.
searchFolders(params)FolderIteratorRecebe uma coleção de todas as pastas no Drive do usuário que correspondem à pesquisa especificada critérios.

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

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 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 pasta anterior.

Retornar

FolderIterator: uma coleção de pastas que permaneceram em um iterador anterior quando a continuação token 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.

Retornar

File: o novo arquivo.

Autorização

Os scripts que usam esse método precisam de 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.

Retornar

File: o novo arquivo.

Autorização

Os scripts que usam esse método precisam de 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 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 precisam de 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 determinado.

Parâmetros

NomeTipoDescrição
nameStringO nome da nova pasta.

Retornar

Folder: a nova pasta.

Autorização

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

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

createShortcut(targetId)

Cria um atalho para o código de item do Google Drive fornecido e o retorna.

Parâmetros

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

Retornar

File: o novo atalho.

Autorização

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

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Cria um atalho para o ID do item do Drive e a chave de recurso fornecidos e o retorna. Um recurso key é 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 pasta de destino.
targetResourceKeyStringA chave de recurso do arquivo ou pasta de destino.

Retornar

File: o novo atalho.

Autorização

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

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

enforceSingleParent(value)

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

Consulte o blog Simplificando a estrutura de pastas e os modelos de compartilhamento do Google Drive para mais detalhes.

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

Parâmetros

NomeTipoDescrição
valueBooleanO novo estado da flag applySingleParent.

Autorização

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

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

getFileById(id)

Extrai o arquivo com o ID fornecido. Emite uma exceção de scripting se o arquivo não existir ou se o o usuário não tem 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 precisam de 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 adicional que precisam ser passados para acessar arquivos que foram compartilhados usando um link.

Emite uma exceção de scripting 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 precisam de 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 Google Drive do usuário.

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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 Google Drive do usuário que têm o nome determinado.

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 com o nome determinado.

Autorização

Os scripts que usam esse método precisam de 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 MIME especificado não é válido.

Autorização

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

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

getFolderById(id)

Recebe a pasta com o ID fornecido. Emite uma exceção de scripting se a pasta não existir ou o usuário não tem permissão para acessá-lo.

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 precisam de 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 adicional que precisam ser transmitidos para acessar pastas que foram compartilhadas usando um link.

Emite uma exceção de scripting se a pasta não existe ou o usuário não tem permissão para acessá-lo.

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 precisam de 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 Google 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 precisam de 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 Google Drive do usuário que tenham o nome determinado.

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 com o nome determinado.

Autorização

Os scripts que usam esse método precisam de 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());

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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 precisam de 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 precisam de 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 precisam de 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 precisam de 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 à pesquisa especificada critérios. Os critérios de pesquisa estão detalhados na documentação do SDK do Google Drive. Observe que o Drive usa a v2 da API Drive e alguns campos de consulta são diferentes da v3. Revise o campo as diferenças entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string, então tenha cuidado para usar o escape correto 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.

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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 à pesquisa especificada critérios. Os critérios de pesquisa estão detalhados na documentação do SDK do Google Drive. Observe que o Drive usa a v2 da API Drive e alguns campos de consulta são diferentes da v3. Revise o campo as diferenças entre a v2 e a v3.

O argumento params é uma string de consulta que pode conter valores de string, então tenha cuidado para usar o escape correto 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.

Retornar

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

Autorização

Os scripts que usam esse método precisam de 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