Class DriveApp

DriveApp

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

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

Proprietà

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

Metodi

MetodoTipo restituitoBreve descrizione
continueFileIterator(continuationToken)FileIteratorRiprende un'iterazione del file utilizzando un token di continuazione di un iteratore precedente.
continueFolderIterator(continuationToken)FolderIteratorRiprende un'iterazione della cartella utilizzando un token di continuazione di un iteratore precedente.
createFile(blob)FileCrea un file nella directory principale di Drive dell'utente da un determinato Blob di dati arbitrari.
createFile(name, content)FileCrea un file di testo nella cartella principale del Drive dell'utente con il nome e i contenuti specificati.
createFile(name, content, mimeType)FileCrea un file nella directory principale del Drive dell'utente con il nome, i contenuti e il tipo MIME specificati.
createFolder(name)FolderCrea una cartella nella cartella 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 e alla chiave della risorsa di Drive forniti e la restituisce.
enforceSingleParent(value)voidAttiva o disattiva il comportamento enforceSingleParent per tutte le chiamate che interessano gli elementi principali.
getFileById(id)FileRecupera il file con l'ID specificato.
getFileByIdAndResourceKey(id, resourceKey)FileRecupera il file con l'ID e la chiave di risorsa specificati.
getFiles()FileIteratorRecupera una raccolta di tutti i file in Drive dell'utente.
getFilesByName(name)FileIteratorRecupera una raccolta di tutti i file nel Drive dell'utente che hanno il nome specificato.
getFilesByType(mimeType)FileIteratorRecupera una raccolta di tutti i file nel Drive dell'utente che hanno il tipo MIME specificato.
getFolderById(id)FolderRecupera la cartella con l'ID specificato.
getFolderByIdAndResourceKey(id, resourceKey)FolderRecupera la cartella con l'ID e la chiave della risorsa specificati.
getFolders()FolderIteratorRecupera una raccolta di tutte le cartelle in Drive dell'utente.
getFoldersByName(name)FolderIteratorRecupera una raccolta di tutte le cartelle di Drive dell'utente che hanno il nome specificato.
getRootFolder()FolderRecupera la cartella principale di Drive dell'utente.
getStorageLimit()IntegerRestituisce il numero di byte che l'utente è autorizzato a memorizzare su Drive.
getStorageUsed()IntegerRecupera il numero di byte attualmente archiviati dall'utente su Drive.
getTrashedFiles()FileIteratorRecupera una raccolta di tutti i file nel cestino di Drive dell'utente.
getTrashedFolders()FolderIteratorRecupera una raccolta di tutte le cartelle presenti nel cestino di Drive dell'utente.
searchFiles(params)FileIteratorRecupera una raccolta di tutti i file in Drive dell'utente che corrispondono ai criteri di ricerca specificati.
searchFolders(params)FolderIteratorRecupera una raccolta di tutte le cartelle di 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 di esecuzione massimo. 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 file precedente.

Invio

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


continueFolderIterator(continuationToken)

Riprende un'iterazione della 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 di esecuzione massimo. 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 cartelle precedente.

Invio

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 di Drive dell'utente da un determinato Blob di dati arbitrari.

Parametri

NomeTipoDescrizione
blobBlobSourceI dati del nuovo file.

Invio

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 cartella principale del 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.

Invio

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

Invio

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 cartella principale di Drive dell'utente con il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome della nuova cartella.

Invio

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 e restituisce una scorciatoia all'ID elemento di Drive fornito.

Parametri

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

Invio

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 e alla chiave della risorsa di Drive forniti e la restituisce. Una chiave risorsa è un parametro aggiuntivo che deve essere passato per accedere al file o alla cartella di destinazione che è stata condivisa utilizzando 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.

Invio

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)

Attiva o disattiva il comportamento enforceSingleParent per tutte le chiamate che interessano gli elementi principali.

Per maggiori dettagli, consulta il blog Semplificazione della struttura delle cartelle e dei modelli di condivisione di Google Drive.

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

Parametri

NomeTipoDescrizione
valueBooleanIl nuovo stato del flag enforceSingleParent.

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)

Recupera il file con l'ID specificato. Viene lanciata un'eccezione di scripting se il file non esiste o se l'utente non ha l'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.

Invio

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)

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

Viene lanciata un'eccezione di scripting se il file non esiste o se l'utente non ha l'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.

Invio

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 in Drive dell'utente.

Invio

FileIterator: una raccolta di tutti i file di 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 nel Drive dell'utente che hanno il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome dei file da trovare.

Invio

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 nel Drive dell'utente che hanno il tipo MIME specificato.

Parametri

NomeTipoDescrizione
mimeTypeStringIl tipo MIME dei file da trovare.

Invio

FileIterator: una raccolta di tutti i file in 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)

Recupera la cartella con l'ID specificato. Viene lanciata un'eccezione di scripting se la cartella non esiste o se l'utente non ha l'autorizzazione per accedervi.

Parametri

NomeTipoDescrizione
idStringL'ID della cartella.

Invio

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)

Recupera la cartella con l'ID e la chiave della risorsa specificati. Le chiavi della risorsa sono un parametro aggiuntivo che deve essere passato per accedere alle cartelle condivise utilizzando un link.

Viene lanciata un'eccezione di scripting se la cartella non esiste o se l'utente non ha l'autorizzazione per accedervi.

Parametri

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

Invio

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 in Drive dell'utente.

Invio

FolderIterator: una raccolta di tutte le cartelle di 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 di Drive dell'utente che hanno il nome specificato.

Parametri

NomeTipoDescrizione
nameStringIl nome delle cartelle da trovare.

Invio

FolderIterator: una raccolta di tutte le cartelle di 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 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());

Invio

Folder: la cartella principale di 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 a memorizzare su Drive.

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

Invio

Integer: il numero di byte che l'utente può 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()

Recupera il numero di byte attualmente archiviati dall'utente su Drive.

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

Invio

Integer: il numero di byte attualmente archiviati dall'utente 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

getTrashedFiles()

Recupera una raccolta di tutti i file nel cestino di 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());
}

Invio

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

Invio

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)

Recupera una raccolta di tutti i file su Drive dell'utente che corrispondono ai criteri di ricerca specificati. I criteri di ricerca sono descritti nella documentazione dell'SDK di 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 tra i campi v2 e v3.

L'argomento params è una stringa di query che può contenere valori di stringa, quindi assicurati di eseguire correttamente la fuga 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.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

Parametri

NomeTipoDescrizione
paramsStringI criteri di ricerca, come descritto nella documentazione dell'SDK Google Drive.

Invio

FileIterator: una raccolta di tutti i file del 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)

Recupera una raccolta di tutte le cartelle di Drive dell'utente che corrispondono ai criteri di ricerca specificati. I criteri di ricerca sono descritti nella documentazione dell'SDK di 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 tra i campi della versione 2 e della versione 3.

L'argomento params è una stringa di query che può contenere valori di stringa, quindi assicurati di eseguire correttamente la fuga 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.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

Parametri

NomeTipoDescrizione
paramsStringI criteri di ricerca, come descritto nella documentazione dell'SDK Google Drive.

Invio

FolderIterator: una raccolta di tutte le cartelle di 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 ritirati