Eine Bibliothek ist ein Scriptprojekt, dessen Funktionen in anderen Scripts wiederverwendet werden können.
Zugriff auf eine Bibliothek erhalten
Wenn Sie eine Bibliothek in Ihr Projekt aufnehmen möchten, benötigen Sie mindestens Zugriff auf Ansichtsebene. Wenn Sie nicht der Autor der Bibliothek sind, die Sie einbinden möchten, wenden Sie sich an den Autor und bitten Sie um Zugriff.
Sie benötigen die Script-ID der Bibliothek, die Sie einbinden möchten. Wenn Sie Zugriff auf die Bibliothek haben, finden Sie die Script-ID auf der Seite Projekteinstellungen
.Ihrem Scriptprojekt eine Bibliothek hinzufügen
- Klicken Sie links im Apps Script-Editor neben „Libraries“ (Bibliotheken) auf „Add a library“ (Bibliothek hinzufügen) .
- Fügen Sie im Feld „Script-ID“ die Script-ID der Bibliothek ein.
- Klicken Sie auf Suchen.
- Klicken Sie auf das Drop-down-Menü Version und wählen Sie die zu verwendende Bibliotheksversion aus.
- Prüfen Sie, ob der Standardname „Identifier“ derjenige ist, den Sie für diese Bibliothek verwenden möchten. Dies ist der Name, mit dem in Ihrem Script auf die Bibliothek verwiesen wird. Wenn Sie es beispielsweise auf
Test
festlegen, können Sie eine Methode dieser Bibliothek so aufrufen:Test.libraryMethod()
. - Klicken Sie auf Hinzufügen.
Bibliothek verwenden
Verwenden Sie die enthaltene Bibliothek wie einen Standarddienst. Wenn Test
beispielsweise die Kennung für Ihre Bibliothek ist, geben Sie Test
gefolgt von einem Punkt ein, um eine Liste der Methoden in der Bibliothek aufzurufen.
So rufen Sie die Referenzdokumentation für eine enthaltene Bibliothek auf:
Klicken Sie links im Skripteditor neben dem Namen der Bibliothek auf das Dreipunkt-Menü
> In neuem Tab öffnen.Mediathek entfernen
Klicken Sie links im Script-Editor neben dem Namen der Bibliothek auf das Dreipunkt-Menü
> Entfernen > Bibliothek entfernen.Bibliothek aktualisieren
Sie können die Version der Bibliothek ändern oder ihre Kennung aktualisieren.
- Klicken Sie links im Editor unter „Bibliotheken“ auf den Namen der Bibliothek.
- Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Speichern.
Bibliothek erstellen und teilen
So verwenden und geben Sie Ihr Script-Projekt als Bibliothek frei:
- Erstellen Sie eine versionierte Bereitstellung Ihres Scripts.
- Weisen Sie allen potenziellen Nutzern der Bibliothek mindestens Zugriff auf Datenansichtsebene zu.
- Gib diesen Nutzern die Script-ID, die du auf der Seite Projekteinstellungen findest.
Best Practices
Beachten Sie beim Erstellen einer Bibliothek die folgenden Richtlinien:
- Wählen Sie einen aussagekräftigen Namen für Ihr Projekt aus, da er als Standard-ID verwendet wird, wenn Ihre Bibliothek von anderen eingeschlossen wird.
- Wenn eine oder mehrere Methoden Ihres Scripts für die Bibliotheksnutzer nicht sichtbar (und nicht nutzbar) sein sollen, können Sie den Namen der Methode mit einem Unterstrich beenden. Beispiel:
myPrivateMethod_()
. - Nur globale Eigenschaften, die gezählt werden können, sind für Bibliotheksnutzer sichtbar. Dazu gehören Funktionsdeklarationen, Variablen, die außerhalb einer Funktion mit
var
erstellt wurden, und Eigenschaften, die explizit auf dem globalen Objekt festgelegt wurden. Wenn Sie beispielsweiseObject.defineProperty()
mitenumerable
=false
festlegen, wird ein Symbol erstellt, das Sie in Ihrer Bibliothek verwenden können, auf das Ihre Nutzer jedoch nicht zugreifen können. Wenn Nutzer Ihrer Bibliothek die automatische Vervollständigung im Script-Editor und die automatisch generierte Dokumentation nutzen sollen, müssen Sie für alle Funktionen eine JSDoc-Dokumentation bereitstellen. Beispiel:
/** * 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) { ... }
Ressourcenumfang
Es gibt zwei Arten von Ressourcen, wenn Sie mit Bibliotheken arbeiten: freigegebene und nicht freigegebene. Eine freigegebene Ressource bedeutet, dass sowohl die Bibliothek als auch das einschließende Script einen integrierten Zugriff auf dieselbe Instanz der Ressource haben. Das folgende Diagramm zeigt eine freigegebene Ressource am Beispiel von Nutzereigenschaften:
Eine nicht freigegebene Ressource bedeutet, dass sowohl die Bibliothek als auch das einschließende Script nur auf ihre Instanz der Ressource zugreifen können. Eine Bibliothek kann jedoch Zugriff auf nicht freigegebene Ressourcen gewähren, indem sie explizite Funktionen enthält, die auf diesen Ressourcen ausgeführt werden. Hier ist ein Beispiel für eine Funktion, die Sie in Ihre Bibliothek aufnehmen würden, um ihre Script-Properties freizugeben:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
Das folgende Diagramm zeigt eine nicht freigegebene Ressource am Beispiel von Script-Properties:
In der folgenden Tabelle sind die freigegebenen und nicht freigegebenen Ressourcen aufgeführt:
Ressource | Freigegeben* | Nicht freigegeben** | Hinweise |
---|---|---|---|
Sperren | Die Instanz ist für alle sichtbar, einschließlich Scripts, wenn sie in der Bibliothek erstellt wird. | ||
Skripteigenschaften | Die Instanz ist für alle sichtbar, einschließlich Scripts, wenn sie in der Bibliothek erstellt wird. | ||
Cache | Die Instanz ist für alle sichtbar, einschließlich Scripts, wenn sie in der Bibliothek erstellt wird. | ||
Trigger | In der Bibliothek erstellte einfache Trigger werden nicht durch das einschließende Script ausgelöst. | ||
ScriptApp | |||
UiApp | |||
Nutzereigenschaften | |||
Logger und Ausführungsprotokoll | |||
Websites, Tabellenblätter und andere Container | Ein Aufruf von getActive() gibt den Container des enthaltenen Scripts zurück. |
||
MailApp und GmailApp | |||
* Das bedeutet, dass die Bibliothek keine eigene Instanz der Funktion/Ressource hat, sondern stattdessen diejenige verwendet, die vom Skript erstellt wurde, das sie aufgerufen hat.
** Das bedeutet, dass die Bibliothek eine eigene Instanz der Ressource/Funktion hat und dass alle Scripts, die die Bibliothek verwenden, dieselbe Instanz teilen und darauf zugreifen können. |
Bibliothek testen
Verwenden Sie die Head-Bereitstellung, um Ihre Bibliothek zu testen. Jeder, der auf Editorebene Zugriff auf das Script hat, kann die Head-Bereitstellung verwenden.
Bibliothek debuggen
Wenn Sie den Debugger in einem Projekt verwenden, das eine Bibliothek enthält, können Sie eine Funktion der enthaltenen Bibliothek aufrufen. Der Code wird im Debugger im Lesemodus und in der richtigen Version angezeigt.