16850 Letture

Condividere file temporaneamente su Google Drive

Il servizio Drive, che permette di memorizzare ogni genere di file utilizzando i server di Google, non dispone di una funzione che permetta di condividere i file temporaneamente. È sì possibile condividere i documenti ed i file memorizzati online, sul proprio account Drive, pubblicamente o con persone specifiche ma non si può stabilire una "data di scadenza" della condivisione.

Grazie ad Apps Script, il comodo linguaggio di scripting messo a disposizione da Google, è però possibile estendere agevolmente le funzionalità di base dei servizi della società statunitense.
Il blogger indiano Amit Agarwal ha messo a disposizione di tutti gli interessati uno script che permette di condividere file temporaneamente su Google Drive: dopo aver specificato la data e l'ora di "scadenza" di una condivisione, lo script resterà in esecuzione fino al momento "X" occupandosi di eliminare la precedente condivisione.

Il primo passo consiste nell'accedere a Google Drive (da questo indirizzo), quindi cliccare sull'icona Nuova cartella in I miei file. Dopo aver creato la nuova cartella, si provveda a condividerla pubblicamente oppure con utenti specifici, cliccandovi con il tasto destro del mouse quindi facendo riferimento alla voce Condividi (avevamo affrontato il tema della condivisione di file con Google Drive anche nell'articolo Condividere documenti Google Drive senza account).


A questo punto si dovrà cliccare su questo link per aprire lo script sviluppato da Agarwal.

Cliccando su File, Crea una copia, lo script verrà salvato sul proprio account Google Drive. Lo si troverà nella home page di Drive con il nome Copia di Auto-Expire Shared Links - Digital Inspiration (liberamente modificabile).

Si dovranno poi modificare i valori delle due variabili FOLDER_URL ed EXPIRY_TIME specificando, nella prima, l'indirizzo facente riferimento alla directory condivisa mentre nella seconda la data di scadenza della condivisione.

È importante verificare che l'URL sia nella stessa forma dell'esempio. In altre parole, al posto dell'indentificativo 1234567890 bisognerà sostituire il codice alfanumerico che contraddistingue la cartella condivisa.

La data dovrà essere inserita nella forma AAAA-MM-GG (ossia anno, mese, giorno; ad esempio 2013-10-15).
L'ora specificata, invece, si intenderà espressa sulla base del fuso orario in vigore nella propria nazione (nel nostro caso, in Italia).


Per avviare lo script bisognerà fare clic sul menù Esegui quindi sulla voce Initialize assegnando poi tutte le autorizzazioni richieste.

Come operazione finale, si dovrà cliccare su Esegui, Start.

Nel menù Risorse, Trigger del progetto corrente, si dovrebbe visualizzare la data di scadenza della condivisione inserita in precedenza in testa allo script.
Per accertarsi che lo script entri in funzione alla data ed all'ora indicate, suggeriamo di fare clic sulla casella contenente l'orario quindi premere il pulsante Salva.

Suggeriamo di effettuare qualche prova per accertarsi del perfetto funzionamento dello script.

Non appena arriverà l'"ora X", lo script provvederà ad inviare un'e-mail al proprietario dell'account confermando l'avvenuta eliminazione della condivisione e fornendo l'URL privato che permetterà di continuare a visionare la risorsa precedentemente condivisa.


  1. Avatar
    Michele Nasi
    16/10/2013 14:39:30
    Citazione: Grazie. Ho capito e funziona con una piccola differenza però: quando vado in "Trigger del progetto corrente" se premo semplicemente salva per confermare il trigger questo non funzionerà, non ci sono messaggi di errore, semplicemente non viene eseguito il trigger e la condivisione rimane attiva. Ho notato però, nel mio caso, che se edito il campo data e ora specifica, nel trigger in argomento, ad esempio dall'elenco a discesa seleziono Timer e poi rimetto nuovamente su data e ora specifica e premo salva, lo script funziona correttamente.
    Basta anche che, prima di cliccare Salva, vai nel campo contenente la data e funziona. Dev'essere una sorta di bug di Google. L'ho infatti scritto nell'articolo.
    Citazione: Infine ho visto che il formato della data suggerito da google è conforme alle nostre consuetudini mentre il trigger usa le impostazioni anglosassoni e se modifico il formato della data ricevo un messaggio di errore perchè lo script lo impone nel formato AAAA-MM-GG. Non so se è per questo che devo riconfermare il trigger come sopra spiegato.
    Ci ho studiato molto ieri ma credo che sia una "leggerezza" di Google. Il formato GG-MM-AAAA, come indicato nella finestra del trigger, non viene accettato da Google mentre resta valido AAAA-MM-GG. È probabile che entrambi i problemi vengano presto risolti. Ad ogni modo, suggerisco - prima di cliccare su Salva - di editare il campo contenente data ed ora. Grazie per l'affetto che quotidianamente mostri nei confronti de IlSoftware.it! :approvato: :approvato:
  2. Avatar
    GiuseppeL
    16/10/2013 14:14:18
    Grazie. Ho capito e funziona con una piccola differenza però: quando vado in "Trigger del progetto corrente" se premo semplicemente salva per confermare il trigger questo non funzionerà, non ci sono messaggi di errore, semplicemente non viene eseguito il trigger e la condivisione rimane attiva. Ho notato però, nel mio caso, che se edito il campo data e ora specifica, nel trigger in argomento, ad esempio dall'elenco a discesa seleziono Timer e poi rimetto nuovamente su data e ora specifica e premo salva, lo script funziona correttamente. Infine ho visto che il formato della data suggerito da google è conforme alle nostre consuetudini mentre il trigger usa le impostazioni anglosassoni e se modifico il formato della data ricevo un messaggio di errore perchè lo script lo impone nel formato AAAA-MM-GG. Non so se è per questo che devo riconfermare il trigger come sopra spiegato. A parte ciò grazie per mantenere continuamente aggiornato questo sito, lo consulto quotidianamente e lo consiglio ad amici perchè lo trovo molto utile. Ciao e grazie
  3. Avatar
    Michele Nasi
    16/10/2013 11:00:06
    Figurati! Sicuramente sono stato poco chiaro io... Il codice da inserire, nel caso del tuo esempio, è questo: 0B4WzHcxmqd6tQk9KRnA1bkhxaHc Va sostituito, nell'apposita variabile FOLDER_URL, a 1234567890 Dopo aver effettuato la sostituzione copia il contenuto della variabile FOLDER_URL nella barra degli indirizzi del browser: l'indirizzo si deve aprire senza problemi! Esempio: https://docs.google.com/folder/d/1234567890/edit nel tuo caso va trasformato in https://docs.google.com/folder/d/0B4WzH ... hxaHc/edit
  4. Avatar
    GiuseppeL
    16/10/2013 10:55:31
    Ciao Michele, perdonami ma non riesco a far funzionare lo script in particolare non capisco il codice alfanumerico da inserire nello scipt. Ad esempio da questo link https://drive.google.com/folderview?id=0B4WzHcxmqd6tQk9KRnA1bkhxaHc&usp=sharing qual'è il codice che dovrei inserie? Questo? https://docs.google.com/folder/d/0B4WzHcxmqd6tQk9KRnA1bkhxaHc&usp=sharing/edit Grazie
Condividere file temporaneamente su Google Drive - IlSoftware.it