Bibliotheken

Eine Bibliothek ist ein Skriptprojekt, dessen Funktionen in anderen Skripts wiederverwendet werden können.

Zugriff auf eine Mediathek erhalten

Wenn Sie eine Bibliothek in Ihr Projekt aufnehmen möchten, benötigen Sie mindestens Zugriff auf die Ansichtsebene. Wenn Sie nicht der Autor der Bibliothek sind, die Sie hinzufügen möchten, wenden Sie sich an den Autor und fordern Sie Zugriff an.

Sie benötigen die Skript-ID der Bibliothek, die Sie einbinden möchten. Wenn Sie Zugriff auf die Bibliothek haben, finden Sie die Skript-ID auf der Seite Projekteinstellungen .

Bibliothek dem Skriptprojekt hinzufügen

  1. Klicken Sie links im Apps Script-Editor neben „Libraries“ (Bibliotheken) auf „Add a library“ (Bibliothek hinzufügen) .
  2. Fügen Sie in das Feld „Script-ID“ die Script-ID der Bibliothek ein.
  3. Klicken Sie auf Suchen.
  4. Klicken Sie auf das Drop-down-Menü Version und wählen Sie die Version der zu verwendenden Bibliothek aus.
  5. Prüfen Sie, ob der Standardname „Identifier“ der Name ist, den Sie mit dieser Bibliothek verwenden möchten. Das ist der Name, mit dem Ihr Skript auf die Bibliothek verweist. Wenn Sie sie beispielsweise auf Test festlegen, können Sie eine Methode dieser Bibliothek so aufrufen: Test.libraryMethod().
  6. Klicken Sie auf Hinzufügen.

Bibliothek verwenden

Verwenden Sie die enthaltene Bibliothek wie einen Standarddienst. Wenn beispielsweise Test die ID für Ihre Bibliothek ist, geben Sie Test direkt gefolgt von einem Punkt ein, um die Liste der Methoden in der Bibliothek aufzurufen.

So öffnen Sie die Referenzdokumentation für eine enthaltene Bibliothek:

Klicken Sie links im Skripteditor neben dem Namen der Bibliothek auf das Dreipunkt-Menü > In neuem Tab öffnen.

Bibliothek entfernen

Klicken Sie links im Script-Editor neben dem Namen der Bibliothek auf das Dreipunkt-Menü > Entfernen > Bibliothek entfernen.

Mediathek aktualisieren

Sie können die Version der Bibliothek ändern oder ihre ID aktualisieren.

  1. Klicken Sie links im Editor unter „Bibliotheken“ auf den Namen der Bibliothek.
  2. Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Speichern.

Fotogalerie erstellen und teilen

Führen Sie die folgenden Schritte aus, um Ihr Skriptprojekt als Bibliothek zu verwenden und freizugeben.

  1. Erstellen Sie eine versionierte Bereitstellung Ihres Skripts.
  2. Teilen Sie allen potenziellen Nutzern der Bibliothek mindestens den Zugriff auf Datenansichtsebene.
  3. Geben Sie diesen Nutzern die Skript-ID, die Sie auf der Seite Projekteinstellungen finden.

Best Practices

Hier sind einige Richtlinien, die Sie beim Schreiben einer Bibliothek beachten sollten:

  1. Wählen Sie einen aussagekräftigen Namen für Ihr Projekt aus, da dieser als Standardkennung verwendet wird, wenn Ihre Bibliothek von anderen Nutzern verwendet wird.
  2. Wenn eine oder mehrere Methoden Ihres Skripts für Ihre Nutzer der Bibliothek nicht sichtbar (nicht verwendbar) sein sollen, können Sie den Namen der Methode mit einem Unterstrich beenden. Beispiel: myPrivateMethod_().
  3. Nur aufzählbare globale Attribute sind für Bibliotheksnutzer sichtbar. Dazu gehören Funktionsdeklarationen, Variablen, die außerhalb einer Funktion mit var erstellt werden, und Eigenschaften, die explizit für das globale Objekt festgelegt sind. Beispiel: Wenn Object.defineProperty(), für den enumerable auf false gesetzt ist, ein Symbol erstellt, das Sie in Ihrer Mediathek verwenden können, können Ihre Nutzer auf dieses Symbol nicht zugreifen.
  4. Wenn die Nutzer Ihrer Bibliothek die automatische Vervollständigung des Script-Editors und die automatisch generierte Dokumentation verwenden sollen, müssen Sie für alle Funktionen eine Dokumentation im JSDoc-Stil haben. 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 festlegen

Bei der Arbeit mit Bibliotheken gibt es zwei Arten von Ressourcen: freigegebene und nicht freigegebene. Eine gemeinsam genutzte Ressource bedeutet, dass sowohl die Bibliothek als auch das zugehörige Skript einen integrierten Zugriff auf dieselbe Instanz der Ressource haben. Das folgende Diagramm veranschaulicht eine gemeinsam genutzte Ressource am Beispiel der Nutzereigenschaften:

Freigegebene Ressource

Eine nicht gemeinsam genutzte Ressource bedeutet, dass sowohl die Bibliothek als auch das einschließlich des Skripts integrierten Zugriff nur auf ihre Instanz der Ressource haben. Eine Bibliothek kann jedoch Zugriff auf ihre nicht gemeinsam genutzten Ressourcen gewähren, indem sie explizite Funktionen für sie hat. Hier sehen Sie ein Beispiel für eine Funktion, die Sie in Ihre Bibliothek aufnehmen würden, um die zugehörigen Skripteigenschaften bereitzustellen:

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

Das folgende Diagramm zeigt eine nicht freigegebene Ressource am Beispiel der Skriptattribute:

Nicht freigegebene Ressource

In der folgenden Tabelle sind die freigegebenen und nicht freigegebenen Ressourcen aufgeführt:

Ressource Freigegeben* Nicht geteilt** Hinweise
Sperren Dieselbe Instanz ist für alle sichtbar, auch für Skripts, wenn sie in der Bibliothek erstellt werden.
Skripteigenschaften Dieselbe Instanz ist für alle sichtbar, auch für Skripts, wenn sie in der Bibliothek erstellt werden.
Cache Dieselbe Instanz ist für alle sichtbar, auch für Skripts, wenn sie in der Bibliothek erstellt werden.
Trigger Einfache Trigger, die in der Bibliothek erstellt wurden, werden nicht vom Script „Include“ (Einschließen) ausgelöst.
ScriptApp
UiApp
Nutzereigenschaften
Protokollierung und Ausführungstranskript
Google Sites, Google Tabellen und andere Container Bei einem Aufruf von getActive() wird der Container des Scripts „Include“ zurückgegeben.
MailApp und GmailApp
* Dies bedeutet, dass die Bibliothek keine eigene Instanz des Features/der Ressource hat, sondern die Instanz verwendet, die von dem Skript erstellt wurde, das sie aufgerufen hat.
** Dies bedeutet, dass die Bibliothek eine eigene Instanz der Ressource/Funktion hat und dass alle Skripts, die die Bibliothek verwenden, dieselbe Instanz gemeinsam nutzen und Zugriff darauf haben.

Bibliothek testen

Testen Sie Ihre Bibliothek mit der Head-Bereitstellung. Jeder, der Zugriff auf das Skript auf Bearbeitungsebene hat, kann die Head-Bereitstellung verwenden.

Bibliotheksfehler beheben

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.