Come ricevere una notifica e-mail quando viene caricato un file su Google Drive
Stai lavorando su una cartella condivisa Google Drive con qualcuno che non ti avverte di aver caricato un nuovo file al suo interno? Non ricevi nessuna notifica?
Non preoccuparti, è normale: il servizio di archiviazione e sincronizzazione online di Google non ha una funzione nativa che permette di ricevere una notifica e-mail ogni volta che qualcuno aggiunge un nuovo file. Bastano poche righe di codice, inserite in Google Apps Script, sistema di automazione integrato nell’ecosistema di Google, per risolvere il problema.
Quindi, come ricevere una notifica e-mail quando viene caricato un file su Google Drive? Scopriamolo insieme.
Come ricevere una notifica e-mail quando viene caricato un file su Google Drive
Come anticipato, in questa guida imparerai come ricevere una notifica via e-mail quando qualcuno inserisce un nuovo file in una cartella condivisa con te su Google Drive, semplicemente inserendo un codice in Google Apps Script.
Lo script che inserirai ti permetterà di:
- monitorare una specifica cartella Google Drive e le sue sottocartelle;
- individuare i file presenti e i nuovi aggiunti;
- evitare notifiche doppie su file già rilevati;
- elencare tutti i file modificati in una sola mail, indicando nome, ora di caricamento e percorso del file;
- presidiare automaticamente la cartella senza dover avviamo lo script manualmente.
Di seguto, i passaggi da seguire per implementare questa funzione.
1. Crea un progetto Google Apps Script
- Accedi a Google Apps Script qui.
- Effettua la login con l’e-mail sulla quale è stata impostata la cartella condivisa.
- Clicca su “Nuovo Progetto” e assegnagli un nome tipo: Notifica nuovi file Google Drive.
All’interno dell’editor inserirai lo script che ti sarà utile ad effettuare i controlli.
2. Recupera l’ID della cartella Google Drive
Per recuperare l’ID della cartella Google Drive, accedi alla cartella presente nel tuo account Google Drive. Il suo link sarà https://drive.google.com/drive/folders/XXXXXXXXXXXXXXXX.
L’ID si trova nella parte finale del link: XXXXXXXXXXXXXXXX.
Quello sarà il valore che inserirai nella variabile dello script.
NB: è importante inserire l’ID della cartella principale, lo script si occuperà in automatico di scansionare anche le sottocartelle.
3. Crea lo script che recupera, scansiona i file e genera l’email
Ricordati di modificare le prime due righe inserendo l’ID della cartella e la mail che vi ha accesso. Su questa e-mail verranno inviate le notifiche.
const CARTELLA_ID = 'INSERISCI_ID_CARTELLA';
const EMAIL = 'tuaemail@example.com';
function controllaNuoviFile() {
const proprieta = PropertiesService.getScriptProperties();
const fileGiaVisti = JSON.parse(
proprieta.getProperty('fileGiaVisti') || '{}'
);
const nuoviFile = [];
controllaCartella(
DriveApp.getFolderById(CARTELLA_ID),
fileGiaVisti,
nuoviFile
);
proprieta.setProperty(
'fileGiaVisti',
JSON.stringify(fileGiaVisti)
);
console.log('Nuovi file trovati: ' + nuoviFile.length);
if (nuoviFile.length === 0) {
console.log('Nessun nuovo file. Nessuna email inviata.');
return;
}
let corpo =
'Sono stati caricati nuovi file nella cartella Google Drive:\n\n';
nuoviFile.forEach(file => {
corpo += 'Nome: ' + file.nome + '\n';
corpo += 'Cartella: ' + file.cartella + '\n';
corpo += 'Data aggiunta: ' +
Utilities.formatDate(
file.data,
Session.getScriptTimeZone(),
'dd/MM/yyyy'
) + '\n';
corpo += 'Link: ' + file.url + '\n\n';
});
MailApp.sendEmail({
to: EMAIL,
subject: 'Nuovo contenuto nella cartella Google Drive',
body: corpo
});
console.log(
'Email inviata. File notificati: ' + nuoviFile.length
);
}
function controllaCartella(cartella, fileGiaVisti, nuoviFile) {
console.log(
'Controllo cartella: ' + cartella.getName()
);
const files = cartella.getFiles();
while (files.hasNext()) {
const file = files.next();
const id = file.getId();
const giaVisto = !!fileGiaVisti[id];
console.log(
'File: ' +
file.getName() +
' | Già visto: ' +
giaVisto
);
if (!giaVisto) {
nuoviFile.push({
nome: file.getName(),
cartella: cartella.getName(),
data: file.getDateCreated(),
url: file.getUrl()
});
fileGiaVisti[id] = new Date().toISOString();
}
}
const sottocartelle = cartella.getFolders();
while (sottocartelle.hasNext()) {
const sottocartella = sottocartelle.next();
controllaCartella(
sottocartella,
fileGiaVisti,
nuoviFile
);
}
}
function testEmail() {
const account = Session.getEffectiveUser().getEmail();
const quota = MailApp.getRemainingDailyQuota();
console.log('Account: ' + account);
console.log('Quota: ' + quota);
MailApp.sendEmail(
EMAIL,
'TEST Apps Script',
'Test inviato da Apps Script.\nAccount: ' + account
);
console.log('Invio eseguito');
}
function resetFileVisti() {
PropertiesService.getScriptProperties()
.deleteProperty('fileGiaVisti');
console.log(
'Memoria dei file precedenti cancellata.'
);
}
Una volta inserito e modificato con i tuoi dati il codice salva – usa l’icona con il dischetto – ed esegui – clicca sull’icona con il play.
4. Come funziona il codice?
Di seguito, le funzioni principali dello script creato ed inserito nell’editor di Google Apps Script.
controllaNuoviFile() è la funzione principale, recupera la cartella indicata nell’ID, recupera la memoria dei file già notificati e avvia la successiva scansione.
Se la scansione non rileva nuovi file la notifica non viene inviata.
controllaCartella() è la funzione che si occupa di controllare la cartella principale e le sottocartelle presenti senza doverle indicare singolarmente.
Grazie a questa funzione, nel momento in cui verrà aggiunta una nuova sottocartella alla principale, non dovrai inserirla singolarmente ma verrà già tracciata dalla funzione.
La memoria viene gestita tramite la funzione “fileGiaVisti” che memorizza quali file sono già stati notificati per evitare di segnalarli tra un’esecuzione ed un’altra.
Le righe successive registrano la presenza di nuovi file (ogni file in Google Drive è differenziato da un ID univoco) e salvano i dati richiesti che verranno successivamente inviati via mail, nel nostro caso Nome, Cartella, Data di aggiunta del file e link.
Successivamente memorizzano i nuovi file trovati cosi da non inviare una nuova segnalazione.
La notifica via mail
MailApp.sendEmail() è la funzione si occupa di inviare la mail se vengono trovati nuovi file.
I contenuti della mail, ad esclusione dell’oggetto (che puoi modificare come meglio credi) sono definiti poche righe prima.
La mail così composta non invierà una notifica per ogni file aggiunto ma genererà un elenco di più file in una sola notifica del tipo:
Sono stati caricati nuovi file nella cartella Google Drive: Nome: foto-01.jpg Cartella: Progetto-1 Data aggiunta: 07/10/2026 Link: ... Nome: video-01.mp4 Cartella: Video-1 Data aggiunta: 07/10/2026 Link: ... Nome: foto-02.jpg Cartella: Materiali-1 Data aggiunta: 07/10/2026 Link: ...
La funzione di verifica
La funzione testEmail() serve a controllare che Google Apps Script abbia i permessi per inviare la mail.
Per farlo selezionala dalla tendina in alto (stessa riga e salva ed Esegui) e poi fai click su Esegui.
Questa funzione è particolarmente utile la prima volta (o quando necessario in caso di problemi.) perchè ti aiuterà a verificare la possibilità dell’invio della mail prima di iniziare ad effettuare i test con i file.
Anche in questo caso puoi personalizzare oggetto e contenuto come meglio credi.
Reset memoria
La funzione resetFileVisti() cancella la memoria dei file che sono stati già rilevati, usala quindi con attenzione.
Se viene eseguita, alla scansione successiva, tutti i file presenti nella cartella Google Drive di tuo interesse verranno considerati come nuovi e verranno inviati tramite mail.
Utilizzala quindi durante la configurazione iniziale, se hai necessità di ricominciare il monitoraggio da zero o per creare una traccia scritta del contenuto della cartella condivisa in quel preciso momento.
5. Come creare il trigger automatico?
Una volta terminato l’inserimento del codice è necessario creare un automatismo basato sul tempo, che faccia scattare l’analisi.
Sulla barra di sinistra seleziona “Attivatori” e poi in basso a destra “Aggiungi Trigger”.

Nell’esempio, è stato impostato un controllo della cartella condivisa Google Drive ogni ora ma puoi impostare un controllo fino ad un minimo di 5 minuti o in determinate fasce orarie.
Una volta salvato Google Apps Script eseguirà il controllo automaticamente, secondo i parametri impostati nell’Attivatore.
6. Come autorizzare Google Apps Script?
Al primo accesso, Google ti richiederà alcune autorizzazioni perché, una volta autorizzato il progetto, il trigger potrà eseguire automaticamente la funzione creata che – ripetiamo – sarà in grado di:
- leggere i file presenti nella cartella che hai indicato del tuo Google Drive;
- accedere alle proprietà dello script stesso;
- inviare notifiche e-mail.
Limiti della funzione di notifica
Questo sistema non imposta una notifica instantanea. Il trigger gira secondo un automatismo basato sul tempo: i file vengono rilevati solo quando lo script viene eseguito dall’attivatore.
Potrebbe quindi succedere che la persona carichi il file un istante dopo in cui il trigger è già terminato e la notifica arriverà solo al passaggio successivo.
Perchè usare Google Apps Script per questo controllo?
Google Apps Script è collegato direttamente al tuo account Google e perfettamente integrato con una cartella presente su Google Drive.
Per attivare questo controllo e ricevere una notifica e-mail quando viene caricato un file su Google Drive ti basterà implementare lo script non avrai necessità di: utilizzare plugin esterni, attivare servizi di automazione terzi a pagamento, avere un server proprietario dove condividere i file, installare software sul tuo computer.
Una volta realizzato il sistema di base potresti pensare di ampliarlo con funzionalità come notifiche Telegram o Slack, pensare di escludere determinati tipi di file o cartelle, creare un riepilogo giornaliero invece di ricevere notifiche immediate, magari formattando la mail con un pò di HTML.

Redazione Ca2 Solution è costituita dai professionisti del web che condividono i loro contenuti editoriali sul blog dell’agenzia di digital marketing con sede a Roma.




Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!