IlSoftware.it - Il sito italiano sul software

Google Drive: come ricevere file da altri utenti


Uno script che consente di abilitare l'upload di file da parte di utenti remoti, anche se non autenticati e sprovvisti di un account Google.


I meccanismi per la condivisione di file e cartelle mediante Google Drive sono ormai ben noti: ne abbiamo parlato nell'articolo Come inviare file pesanti via email.
In breve, accedendo a questa pagina, cliccando con il tasto destro sulla risorsa da condividere e scegliendo Condividi, è possibile scegliere se fare in modo che specifici utenti dotati di account Google possano accedervi oppure se generare un link per mettere a fattor comune i file con chiunque, anche utenti sprovvisti di account Google e non autenticati (basta conoscere il link per accedere alle risorse condivise).

Creando una cartella condivisa all'interno di Google Drive all'interno della quale altri utenti possano caricare file è certamente fattibile ma questo tipo di approccio porta con sé alcune limitazioni. In primis solo i soggetti in possesso di un account Google sarebbero in grado di caricare i file nella cartella condivisa; in secondo luogo, tutti i collaboratori possono visualizzare e persino rimuovere i file che sono stati caricati in una cartella condivisa su Google Drive.

D'altra parte neppure Google Moduli ad oggi integra una funzionalità che permetta il caricamento di file: Google Moduli, come funziona lo strumento per gestire iscrizioni, sondaggi e test.

Se si volesse attivare il caricamento di file su Google Drive da parte di qualsivoglia utente, è possibile ricorrere a un semplice script che aiuta a togliere facilmente le castagne dal fuoco.

Lo script è stato realizzato da Amit Agarwal ed è utilizzabile, previo login da browser web al proprio account Google cliccando su questo link.

Si aprirà automaticamente Google Apps Script: qui suggeriamo di modificare il nome dello script "Copia di Receive Files in Google Drive" in qualcosa di più riconoscibile.


Cliccando sulla scheda forms.html, si troverà il codice HTML predisposto dall'autore dello script per mostrare e gestire il form per l'upload dei file. Per impostazione predefinita viene chiesto all'utente di inserire un nome, un indirizzo email quindi di selezionare dal proprio dispositivo il materiale da caricare.

L'utente è libero di modificare il form HTML a proprio piacimento: suggeriamo di copiare il contenuto della scheda forms.html in un file con estensione .html in locale. Cliccandovi due volte si otterrà un'anteprima del form nel browser e si potranno applicare le modifiche desiderate sul codice.
Rimuovendo le righe 119-122 (if (file.size > 1024 * 1024 * 5) {) e salvando il file su Google Apps Script (premere CTRL+S), si può anche abilitare l'upload di file di dimensioni superiori ai 5 MB.

Cliccando sulla scheda server.gs in Google Apps Script, su Seleziona una funzione e infine su doGet, si imposterà la funzione da avviare per prima. Cliccando sul pulsante Esegui, si vedrà apparire una richiesta simile a quella in figura.


Con un clic su Rivedi autorizzazioni bisognerà confermare l'account Google in uso, fare clic su Avanzate alla comparsa del messaggio "Questa app non è stata verificata" quindi cliccare sul link in basso "Apri (non sicura)".
Google farà presente che lo script appena creato chiede di "Visualizzare, modificare, creare ed eliminare tutti i tuoi file di Google Drive": basterà cliccare su Consenti.

Come passo finale, dal menu Pubblica di Google Apps Script si dovrà selezionare Distribuisci come applicazione web quindi assicurarsi che in corrispondenza del menu a tendina Who has access to the app sia scelto Anyone, even anonymous.


Cliccando il pulsante Aggiorna si otterrà il link pubblico da comunicare agli altri utenti. Per verificarne il funzionamento, suggeriamo di aprire una finestra di navigazione in incognito nel browser (vedere Navigazione in incognito, quando utilizzarla?) quindi incollare l'URL indicato da Google Apps Script nella barra delle applicazioni.


Per impostazione predefinita, tutti i file caricati dagli utenti (anche anonimi) verranno salvati nella sottocartella Received Files automaticamente creata in Google Drive. Per personalizzarne il nome basta agire sulla riga 23 (var dropbox = "Received Files";) dello script.

Se si volesse disattivare lo script, basterà revocare l'autorizzazione ad accedere al contenuto di Google Drive da questa pagina. Gli utenti otterranno il messaggio "Per eseguire questa azione è richiesta l'autorizzazione".

Per cancellare definitivamente lo script, basta visitare questa pagina, procedere con un'eliminazione cliccando sull'icona raffigurante tre puntini in colonna e pulire il contenuto del cestino di Google Apps Script (da qui). Diversamente lo script continuerà a rimanere raggiungibile e utilizzabile.


di Michele Nasi
IlSoftware.it - Il sito italiano sul software