Class DriveApp

DriveApp

Consente agli script di creare, trovare e modificare file e cartelle su Google Drive. Per accedere ai file o le cartelle nei Drive condivisi, utilizza il servizio avanzato di 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());
}

Proprietà

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

Metodi

MetodoTipo restituitoBreve descrizione
continueFileIterator(continuationToken)FileIteratorRiprende un'iterazione di 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 radice 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 directory principale del 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 della risorsa forniti e la restituisce.
enforceSingleParent(value)voidAttiva o disattiva il comportamento forzato singolo per tutte le chiamate che interessano elementi padre.
getFileById(id)FileRecupera il file con l'ID specificato.
getFileByIdAndResourceKey(id, resourceKey)FileRecupera il file con l'ID e la chiave della risorsa specificati.
getFiles()FileIteratorRecupera una raccolta di tutti i file presenti nel Drive dell'utente.
getFilesByName(name)FileIteratorRecupera una raccolta di tutti i file con lo stesso nome presenti nel Drive dell'utente.
getFilesByType(mimeType)FileIteratorRecupera una raccolta di tutti i file con il tipo MIME specificato nel Drive dell'utente.
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()FolderIteratorOttiene una raccolta di tutte le cartelle nel Drive dell'utente.
getFoldersByName(name)FolderIteratorRecupera una raccolta di tutte le cartelle che hanno il nome specificato nel Drive dell'utente.
getRootFolder()FolderRecupera la cartella nella directory principale del Drive dell'utente.
getStorageLimit()IntegerRecupera il numero di byte che l'utente può archiviare su Drive.
getStorageUsed()IntegerRestituisce il numero di byte attualmente archiviati dall'utente su Drive.
getTrashedFiles()FileIteratorRecupera una raccolta di tutti i file nel cestino del Drive dell'utente.
getTrashedFolders()FolderIteratorRecupera una raccolta di tutte le cartelle nel cestino del Drive dell'utente.
searchFiles(params)FileIteratorRecupera una raccolta di tutti i file nel Drive dell'utente che corrispondono alla ricerca specificata criteri.
searchFolders(params)FolderIteratorRestituisce una raccolta di tutte le cartelle nel Drive dell'utente che corrispondono alla ricerca specificata criteri.

Documentazione dettagliata

continueFileIterator(continuationToken)

Riprende un'iterazione di 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 di un iteratore di file precedente.

Invio

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


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 di un iteratore di cartelle precedente.

Invio

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


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.

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 directory radice del Drive dell'utente con il nome e i contenuti specificati. Lancia 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. Lanci un'eccezione se content è più grande di 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 directory principale del 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 una scorciatoia all'ID elemento di Drive fornito e la restituisce.

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 di Drive e alla chiave della risorsa forniti e la restituisce. Una risorsa è un parametro aggiuntivo che deve essere passato per accedere al file o alla cartella di destinazione è stato condiviso 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 forzato singolo per tutte le chiamate che interessano elementi padre.

Consulta il blog Semplificare la struttura delle cartelle di Google Drive e i modelli di condivisione per ulteriori dettagli.

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

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 della risorsa specificati. Le chiavi delle risorse sono un parametro aggiuntivo che devono essere passati per accedere ai file che sono stati condivisi tramite link.

Genera un'eccezione di script se il file non esiste o se 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 di 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 presenti nel Drive dell'utente.

Invio

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 con lo stesso nome presenti nel Drive dell'utente.

Parametri

NomeTipoDescrizione
nameStringIl nome dei file da trovare.

Invio

FileIterator: una raccolta di tutti i file a cui è stato assegnato il nome 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

getFilesByType(mimeType)

Recupera una raccolta di tutti i file con il tipo MIME specificato nel Drive dell'utente.

Parametri

NomeTipoDescrizione
mimeTypeStringIl tipo MIME dei file da trovare.

Invio

FileIterator: una raccolta di tutti i file nel Drive dell'utente a cui è stata specificata la libreria MIME di testo.

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. Genera un'eccezione di scripting se la cartella non esiste o l'utente non dispone dell'autorizzazione necessaria 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 delle risorse sono un parametro aggiuntivo che devono essere passate per accedere alle cartelle che sono state condivise tramite link.

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

Parametri

NomeTipoDescrizione
idStringL'ID della cartella.
resourceKeyStringLa chiave di 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()

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

Invio

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

Parametri

NomeTipoDescrizione
nameStringIl nome delle cartelle da trovare.

Invio

FolderIterator: una raccolta di tutte le cartelle che hanno il nome specificato nel Drive di un 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

getRootFolder()

Recupera la cartella nella directory principale del 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 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()

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

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

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 nel cestino del 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 nel Drive dell'utente che corrispondono alla ricerca specificata criteri. I criteri di ricerca sono descritti in dettaglio nella documentazione relativa all'SDK Google Drive. Tieni presente che l'interfaccia utilizza la versione 2 dell'API Drive e alcuni campi di query sono diversi dalla versione 3. Esamina il campo e le differenze tra le versioni v2 e v3.

L'argomento params è una stringa di query che può contenere valori di stringa, quindi presta attenzione in modo che le virgolette siano corrette (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 nella documentazione relativa all'SDK Google Drive.

Invio

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

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 alla ricerca specificata criteri. I criteri di ricerca sono descritti in dettaglio nella documentazione relativa all'SDK Google Drive. Tieni presente che l'interfaccia utilizza la versione 2 dell'API Drive e alcuni campi di query sono diversi dalla versione 3. Esamina il campo e le differenze tra le versioni v2 e v3.

L'argomento params è una stringa di query che può contenere valori di stringa, quindi presta attenzione in modo che le virgolette siano corrette (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 nella documentazione relativa all'SDK Google Drive.

Invio

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

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