Class DriveApp

DriveApp

Consente agli script di creare, trovare e modificare file e cartelle su Google Drive. Per accedere a file o cartelle nei Drive condivisi, utilizza il servizio Drive avanzato.

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

Proprietà

ProprietàTipoDescrizione
AccessAccessUn'enumerazione che rappresenta le classi di utenti che possono accedere a un file o a una cartella, oltre ai singoli utenti a cui è stato esplicitamente concesso l'accesso.
PermissionPermissionUn'enumerazione che rappresenta le autorizzazioni concesse agli utenti che possono accedere a un file o a una cartella, oltre ai singoli utenti a cui è stato esplicitamente concesso l'accesso.

Metodi

MetodoTipo restituitoBreve descrizione
continueFileIterator(continuationToken)FileIteratorRiprende un'iterazione del file utilizzando un token di continuazione di un iteratore precedente.
continueFolderIterator(continuationToken)FolderIteratorRiprende l'iterazione di una cartella utilizzando un token di continuazione di un iteratore precedente.
createFile(blob)FileCrea un file nella directory principale del Drive dell'utente a partire da un determinato Blob di dati arbitrari.
createFile(name, content)FileCrea un file di testo nella directory principale di Drive dell'utente con il nome e i contenuti specificati.
createFile(name, content, mimeType)FileCrea un file nella directory principale di Drive dell'utente con il nome, i contenuti e il tipo MIME specificati.
createFolder(name)FolderCrea una cartella nella directory principale di Drive dell'utente con il nome specificato.
createShortcut(targetId)FileCrea una scorciatoia all'ID elemento di Drive fornito e la restituisce.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)FileCrea una scorciatoia all'ID elemento di Drive e alla chiave risorsa forniti e la restituisce.
enforceSingleParent(value)voidConsente di attivare o disattivare il comportamento applySingleParent per tutte le chiamate che interessano i genitori degli elementi.
getFileById(id)FileRestituisce il file con l'ID specificato.
getFileByIdAndResourceKey(id, resourceKey)FileRestituisce il file con l'ID e la chiave risorsa specificati.
getFiles()FileIteratorRecupera una raccolta di tutti i file presenti nel Drive dell'utente.
getFilesByName(name)FileIteratorRecupera una raccolta di tutti i file del Drive dell'utente che hanno il nome specificato.
getFilesByType(mimeType)FileIteratorRecupera una raccolta di tutti i file del Drive dell'utente che hanno il tipo MIME specificato.
getFolderById(id)FolderRestituisce la cartella con l'ID specificato.
getFolderByIdAndResourceKey(id, resourceKey)FolderRestituisce la cartella con l'ID e la chiave della risorsa specificati.
getFolders()FolderIteratorRecupera una raccolta di tutte le cartelle nel Drive dell'utente.
getFoldersByName(name)FolderIteratorRecupera una raccolta di tutte le cartelle nel Drive dell'utente che hanno il nome specificato.
getRootFolder()FolderRecupera la cartella nella directory principale di Drive dell'utente.
getStorageLimit()IntegerRestituisce il numero di byte che l'utente è autorizzato ad archiviare su Drive.
getStorageUsed()IntegerRestituisce il numero di byte che l'utente sta archiviando attualmente su Drive.
getTrashedFiles()FileIteratorRecupera una raccolta di tutti i file presenti nel cestino del Drive dell'utente.
getTrashedFolders()FolderIteratorRecupera una raccolta di tutte le cartelle presenti nel cestino di Drive dell'utente.
searchFiles(params)FileIteratorRestituisce una raccolta di tutti i file di Drive dell'utente che corrispondono ai criteri di ricerca specificati.
searchFolders(params)FolderIteratorRestituisce una raccolta di tutte le cartelle nel Drive dell'utente che corrispondono ai criteri di ricerca specificati.

Documentazione dettagliata

continueFileIterator(continuationToken)

Riprende un'iterazione del file utilizzando un token di continuazione di un iteratore precedente. Questo metodo è utile se l'elaborazione di un iteratore in un'esecuzione supera il tempo massimo di esecuzione. I token di continuazione sono generalmente validi per una settimana.

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

Parametri

NomeTipoDescrizione
continuationTokenStringUn token di continuazione da un iteratore di file precedente.

Ritorni

FileIterator: una raccolta di file rimasti in un iteratore precedente quando è stato generato il token di continuazione.


continueFolderIterator(continuationToken)

Riprende l'iterazione di una cartella utilizzando un token di continuazione di un iteratore precedente. Questo metodo è utile se l'elaborazione di un iteratore in un'esecuzione supera il tempo massimo di esecuzione. I token di continuazione sono generalmente validi per una settimana.

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

Parametri

NomeTipoDescrizione
continuationTokenStringUn token di continuazione da un iteratore di cartella precedente.

Ritorni

FolderIterator: una raccolta di cartelle rimaste in un iteratore precedente quando è stato generato il token di continuazione.


createFile(blob)

Crea un file nella directory principale del Drive dell'utente a partire da un determinato Blob di dati arbitrari.

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

Parametri

NomeTipoDescrizione
blobBlobSourceI dati per il nuovo file.

Ritorni

File: il nuovo file.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

createFile(name, content)

Crea un file di testo nella directory principale di Drive dell'utente con il nome e i contenuti specificati. Genera un'eccezione se content è superiore a 50 MB.

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

Parametri

NomeTipoDescrizione
nameStringIl nome del nuovo file.
contentStringI contenuti del nuovo file.

Ritorni

File: il nuovo file.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

createFile(name, content, mimeType)

Crea un file nella directory principale di Drive dell'utente con il nome, i contenuti e il tipo MIME specificati. Genera un'eccezione se content è superiore a 10 MB.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

Parametri

NomeTipoDescrizione
nameStringIl nome del nuovo file.
contentStringI contenuti del nuovo file.
mimeTypeStringIl tipo MIME del nuovo file.

Ritorni

File: il nuovo file.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

createFolder(name)

Crea una cartella nella directory principale di Drive dell'utente con il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome della nuova cartella.

Ritorni

Folder: la nuova cartella.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

createShortcut(targetId)

Crea una scorciatoia all'ID elemento di Drive fornito e la restituisce.

Parametri

NomeTipoDescrizione
targetIdStringL'ID file del file o della cartella di destinazione.

Ritorni

File: la nuova scorciatoia.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Crea una scorciatoia all'ID elemento di Drive e alla chiave risorsa forniti e la restituisce. Una chiave di risorsa è un parametro aggiuntivo che deve essere trasmesso per accedere al file o alla cartella di destinazione condivisi tramite un 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());
}

Parametri

NomeTipoDescrizione
targetIdStringL'ID del file o della cartella di destinazione.
targetResourceKeyStringLa chiave della risorsa del file o della cartella di destinazione.

Ritorni

File: la nuova scorciatoia.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

enforceSingleParent(value)

Consente di attivare o disattivare il comportamento applySingleParent per tutte le chiamate che interessano i genitori degli elementi.

Per maggiori dettagli, vedi il blog Semplificare la struttura delle cartelle di Google Drive e la condivisione dei modelli.

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

Parametri

NomeTipoDescrizione
valueBooleanIl nuovo stato del flag applySingleParent.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFileById(id)

Restituisce il file con l'ID specificato. Genera un'eccezione di scripting se il file non esiste o se l'utente non dispone dell'autorizzazione per accedervi.

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

Parametri

NomeTipoDescrizione
idStringL'ID del file.

Ritorni

File: il file con l'ID specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFileByIdAndResourceKey(id, resourceKey)

Restituisce il file con l'ID e la chiave risorsa specificati. Le chiavi delle risorse sono un parametro aggiuntivo che deve essere trasmesso per accedere ai file condivisi tramite un link.

Genera un'eccezione di scripting se il file non esiste o l'utente non dispone dell'autorizzazione per accedervi.

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

Parametri

NomeTipoDescrizione
idStringL'ID del file.
resourceKeyStringLa chiave della risorsa della cartella.

Ritorni

File: il file con l'ID specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFiles()

Recupera una raccolta di tutti i file presenti nel Drive dell'utente.

Ritorni

FileIterator: una raccolta di tutti i file nel Drive dell'utente.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFilesByName(name)

Recupera una raccolta di tutti i file del Drive dell'utente che hanno il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome dei file da trovare.

Ritorni

FileIterator: una raccolta di tutti i file nel Drive dell'utente che hanno il nome specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFilesByType(mimeType)

Recupera una raccolta di tutti i file del Drive dell'utente che hanno il tipo MIME specificato.

Parametri

NomeTipoDescrizione
mimeTypeStringIl tipo MIME dei file da trovare.

Ritorni

FileIterator: una raccolta di tutti i file nel Drive dell'utente che hanno il tipo MIME specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFolderById(id)

Restituisce la cartella con l'ID specificato. Genera un'eccezione di scripting se la cartella non esiste o se l'utente non dispone dell'autorizzazione per accedervi.

Parametri

NomeTipoDescrizione
idStringL'ID della cartella.

Ritorni

Folder: la cartella con l'ID specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFolderByIdAndResourceKey(id, resourceKey)

Restituisce la cartella con l'ID e la chiave della risorsa specificati. Le chiavi delle risorse sono un parametro aggiuntivo che deve essere trasmesso per accedere alle cartelle condivise tramite un link.

Genera un'eccezione di scripting se la cartella non esiste o se l'utente non dispone dell'autorizzazione per accedervi.

Parametri

NomeTipoDescrizione
idStringL'ID della cartella.
resourceKeyStringLa chiave della risorsa della cartella.

Ritorni

Folder: la cartella con l'ID specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFolders()

Recupera una raccolta di tutte le cartelle nel Drive dell'utente.

Ritorni

FolderIterator: una raccolta di tutte le cartelle nel Drive dell'utente.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getFoldersByName(name)

Recupera una raccolta di tutte le cartelle nel Drive dell'utente che hanno il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome delle cartelle da trovare.

Ritorni

FolderIterator: una raccolta di tutte le cartelle nel Drive dell'utente che hanno il nome specificato.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getRootFolder()

Recupera la cartella nella directory principale di Drive dell'utente.

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

Ritorni

Folder: la cartella principale del Drive dell'utente.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getStorageLimit()

Restituisce il numero di byte che l'utente è autorizzato ad archiviare su Drive.

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

Ritorni

Integer: il numero di byte che l'utente è autorizzato ad archiviare su Drive.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getStorageUsed()

Restituisce il numero di byte che l'utente sta archiviando attualmente su Drive.

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

Ritorni

Integer: il numero di byte che l'utente sta archiviando attualmente in Drive.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getTrashedFiles()

Recupera una raccolta di tutti i file presenti nel cestino del Drive dell'utente.

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

Ritorni

FileIterator: una raccolta di file nel cestino.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

getTrashedFolders()

Recupera una raccolta di tutte le cartelle presenti nel cestino di Drive dell'utente.

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

Ritorni

FolderIterator: una raccolta di cartelle nel cestino.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

searchFiles(params)

Restituisce una raccolta di tutti i file di Drive dell'utente che corrispondono ai criteri di ricerca specificati. I criteri di ricerca sono descritti in dettaglio nella documentazione dell'SDK Google Drive. Tieni presente che il servizio Drive utilizza la versione 2 dell'API Drive e alcuni campi di query sono diversi dalla versione 3. Esamina le differenze di campo tra v2 e v3.

L'argomento params è una stringa di query che può contenere valori stringa, perciò assicurati di inserire correttamente l'escape delle virgolette (ad esempio "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());
}

Parametri

NomeTipoDescrizione
paramsStringI criteri di ricerca, come descritto in dettaglio nella documentazione relativa all'SDK Google Drive.

Ritorni

FileIterator: una raccolta di tutti i file nel Drive dell'utente che corrispondono ai criteri di ricerca.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

searchFolders(params)

Restituisce una raccolta di tutte le cartelle nel Drive dell'utente che corrispondono ai criteri di ricerca specificati. I criteri di ricerca sono descritti in dettaglio nella documentazione dell'SDK Google Drive. Tieni presente che il servizio Drive utilizza la versione 2 dell'API Drive e alcuni campi di query sono diversi dalla versione 3. Esamina le differenze di campo tra v2 e v3.

L'argomento params è una stringa di query che può contenere valori stringa, perciò assicurati di inserire correttamente l'escape delle virgolette (ad esempio "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());
}

Parametri

NomeTipoDescrizione
paramsStringI criteri di ricerca, come descritto in dettaglio nella documentazione relativa all'SDK Google Drive.

Ritorni

FolderIterator: una raccolta di tutte le cartelle nel Drive dell'utente che corrispondono ai criteri di ricerca.

Autorizzazione

Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:

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

Metodi deprecati