Una libreria è un progetto di script le cui funzioni possono essere riutilizzate in altri script.
Ottenere l'accesso a una raccolta
Per includere una libreria nel tuo progetto, devi disporre almeno dell'accesso a livello di visualizzazione. Se non sei l'autore della libreria che vuoi includere, contatta l'autore e richiedi l'accesso.
Devi disporre dell'ID script della libreria che vuoi includere. Quando hai accesso alla libreria, puoi trovare l'ID script nella pagina Impostazioni progetto
.Aggiungere una libreria al progetto di script
- A sinistra dell'editor di Apps Script, accanto a "Librerie", fai clic su Aggiungi una libreria .
- Nel campo "ID script", incolla l'ID script della raccolta.
- Fai clic su Cerca.
- Fai clic sul menu a discesa Versione e seleziona la versione della libreria da utilizzare.
- Controlla se il nome predefinito "Identificatore" è quello che vuoi
utilizzare con questa libreria. Questo è il nome che lo script utilizza per
fare riferimento alla libreria. Ad esempio, se lo imposti su
Test
, puoi chiamare un metodo di quella libreria nel seguente modo:Test.libraryMethod()
. - Fai clic su Aggiungi.
Utilizzare una libreria
Utilizza la libreria inclusa come faresti con un servizio predefinito. Ad esempio, se Test
è l'identificatore della tua libreria, digita
Test
seguito immediatamente da un punto per visualizzare l'elenco dei metodi nella libreria.
Per aprire la documentazione di riferimento di una libreria inclusa:
A sinistra dell'editor di script, accanto al nome della libreria, fai clic su Altro
> Apri in una nuova scheda.Rimuovere una biblioteca
A sinistra dell'editor di script, accanto al nome della libreria, fai clic su Altro
> Rimuovi > Rimuovi libreria.Aggiornare una libreria
Puoi modificare la versione della libreria o aggiornarne l'identificatore.
- A sinistra dell'editor, in "Librerie", fai clic sul nome della libreria.
- Apporta le modifiche e fai clic su Save (Salva).
Creare e condividere una raccolta
Per utilizzare e condividere il tuo progetto di copione come raccolta, segui i passaggi riportati di seguito.
- Crea un deployment con controllo delle versioni del tuo script.
- Condividi almeno l'accesso a livello di visualizzazione con tutti i potenziali utenti della libreria.
- Fornisci a questi utenti l'ID script, che si trova nella pagina Impostazioni progetto .
Best practice
Ecco alcune linee guida da seguire quando scrivi una libreria:
- Scegli un nome significativo per il tuo progetto, poiché viene utilizzato come identificatore predefinito quando la tua libreria viene inclusa da altri.
- Se vuoi che uno o più metodi del tuo script non siano visibili (né
utilizzabili) dagli utenti della tua libreria, puoi terminare il nome del metodo con un
trattino basso. Ad esempio,
myPrivateMethod_()
. - Solo le proprietà globali enumerabili sono visibili agli utenti della libreria. Sono incluse dichiarazioni di funzioni, variabili create al di fuori di una funzione con
var
e proprietà impostate in modo esplicito sull'oggetto globale. Ad esempio,Object.defineProperty()
conenumerable
impostato sufalse
crea un simbolo che puoi utilizzare nella tua raccolta, ma questo simbolo non è accessibile ai tuoi utenti. Se vuoi che gli utenti della tua libreria utilizzino il completamento automatico dell'editor di script e la documentazione generata automaticamente, devi disporre di una documentazione in stile JSDoc per tutte le tue funzioni. Ecco un esempio:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
Definizione dell'ambito delle risorse
Quando lavori con le librerie, esistono due tipi di risorse: condivise e non condivise. Una risorsa condivisa significa che sia la libreria sia lo script incluso hanno un accesso integrato alla stessa istanza della risorsa. Il seguente diagramma illustra una risorsa condivisa utilizzando l'esempio di Proprietà utente:
Una risorsa non condivisa indica che sia la libreria sia lo script che la include hanno accesso integrato solo alla propria istanza della risorsa. Tuttavia, una libreria può fornire l'accesso alle sue risorse non condivise tramite funzioni esplicite che operano su di esse. Ecco un esempio di funzione da includere nella libreria per esporre le proprietà dello script:
function getLibraryProperty(key) {
const scriptProperties = PropertiesService.getScriptProperties();
return scriptProperties.getProperty(key);
}
Il seguente diagramma illustra una risorsa non condivisa utilizzando l'esempio di Proprietà script:
Questa tabella elenca le risorse condivise e non condivise a titolo di riferimento:
Risorsa | Condiviso* | Non condiviso** | Note |
---|---|---|---|
Blocca | La stessa istanza è visibile a tutti, inclusi gli script, quando viene creata nella raccolta. | ||
Proprietà script | La stessa istanza è visibile a tutti, inclusi gli script, quando viene creata nella raccolta. | ||
Cache | La stessa istanza è visibile a tutti, inclusi gli script, quando viene creata nella raccolta. | ||
Trigger | I trigger semplici creati nella libreria non vengono attivati dallo script incluso. | ||
ScriptApp | |||
UiApp |
|
||
Proprietà utente | |||
Logger e trascrizione esecuzione | |||
Sites, Fogli e altri contenitori | Una chiamata a getActive() restituisce il contenitore del
incluso lo script. |
||
MailApp e GmailApp | |||
* Ciò significa che la libreria non ha una propria istanza della
funzionalità/risorsa e utilizza invece quella creata dallo script
che l'ha richiamata.
** Ciò significa che la libreria ha una propria istanza della risorsa/funzionalità e che tutti gli script che utilizzano la libreria condividono e hanno accesso alla stessa istanza. |
Testare una libreria
Per testare la libreria, utilizza la distribuzione della testa. Chiunque abbia accesso a livello di editor allo script può utilizzare la distribuzione head.
Eseguire il debug di una libreria
Quando utilizzi il debugger in un progetto che include una libreria, puoi eseguire il debug passo passo di una funzione della libreria inclusa. Il codice viene visualizzato nel debugger in modalità di sola visualizzazione e nella versione corretta.