Google Workspace-Add-on mit Node.js erstellen

Google Workspace-Add-ons in Cloud Functions mit der Node.js-Laufzeit erstellen

Lernziele

  • die Umgebung einrichten
  • Erstellen und bereitstellen Sie eine Cloud-Funktion.
  • Erstellen und bereitstellen Sie das Add-on.
  • Installieren Sie das Add-on.

Vorbereitung

Umgebung einrichten

Cloud-Projekt in der Google Cloud Console öffnen

  1. Rufen Sie in der Google Cloud Console die Seite Projekt auswählen auf.

    Cloud-Projekt auswählen

  2. Wählen Sie das Google Cloud-Projekt aus, das Sie verwenden möchten. Sie können auch auf Projekt erstellen klicken und der Anleitung auf dem Bildschirm folgen. Wenn Sie ein Google Cloud-Projekt erstellen, müssen Sie möglicherweise die Abrechnung für das Projekt aktivieren.

OAuth-Zustimmungsbildschirm konfigurieren

Für Google Workspace-Add-ons ist eine Konfiguration des Einwilligungsbildschirms erforderlich. Mit der Konfiguration des OAuth-Zustimmungsbildschirms Ihres Add-ons legen Sie fest, was Google Nutzern anzeigt.

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü  > APIs und Dienste > OAuth-Zustimmungsbildschirm.

    Zum OAuth-Zustimmungsbildschirm

  2. Wählen Sie unter Nutzertyp die Option Intern aus und klicken Sie dann auf Erstellen.
  3. Füllen Sie das Formular zur App-Registrierung aus und klicken Sie dann auf Speichern und fortfahren.
  4. Sie können das Hinzufügen von Bereichen vorerst überspringen und auf Speichern und fortfahren klicken. Wenn Sie in Zukunft eine App für die Verwendung außerhalb Ihrer Google Workspace-Organisation erstellen, müssen Sie den Nutzertyp in Extern ändern und dann die erforderlichen Autorisierungsbereiche hinzufügen.

  5. Überprüfen Sie die Zusammenfassung der App-Registrierung. Wenn Sie Änderungen vornehmen möchten, klicken Sie auf Bearbeiten. Wenn die App-Registrierung korrekt ist, klicken Sie auf Zurück zum Dashboard.

Cloud Functions-Funktionen erstellen und bereitstellen

  1. Aktivieren Sie in einem lokalen Terminal die Cloud Functions, Cloud Build und die Google Workspace Add-ons API:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. Erstellen Sie in einem leeren Verzeichnis die Datei function.js mit dem folgenden Beispielcode:

    /**
     * Cloud Function that loads the homepage for a
     * Google Workspace Add-on.
     *
     * @param {Object} req Request sent from Google
     * @param {Object} res Response to send back
     */
    exports.loadHomePage = function addonsHomePage (req, res) {
      res.send(createAction());
    };
    
    /** Creates a card with two widgets. */
    function createAction() {
      return {
        "action": {
          "navigations": [
            {
              "pushCard": {
                "header": {
                  "title": "Cats!"
                },
                "sections": [
                  {
                    "widgets": [
                      {
                        "textParagraph": {
                          "text": "Your random cat:"
                        }
                      },
                      {
                        "image": {
                          "imageUrl": "https://cataas.com/cat"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. Die Funktion bereitstellen:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    

    Geben Sie bei Aufforderung an, dass Sie nicht authentifizierte Aufrufe der Funktion nicht zulassen. Es kann einige Minuten dauern, bis die Funktion bereitgestellt wird.

Add-on-Bereitstellung erstellen

  1. Suchen Sie die E-Mail-Adresse des Dienstkontos für das Add-on:

    gcloud workspace-add-ons get-authorization
    
  2. Weisen Sie dem Dienstkonto die Rolle cloudfunctions.invoker zu:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    
  3. Rufen Sie die URL der bereitgestellten Funktion ab. Führen Sie den folgenden Befehl aus, um die URL abzurufen, und suchen Sie im Bereich httpsTrigger nach dem Feld url:

    gcloud functions describe loadHomePage
    
  4. Erstellen Sie die Datei deployment.json mit dem folgenden Beispielcode. Ersetzen Sie URL durch die URL der bereitgestellten Funktion aus dem vorherigen Schritt.

    {
      "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"],
      "addOns": {
        "common": {
          "name": "My HTTP Add-on",
          "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png",
          "homepageTrigger": {
            "runFunction": "URL"
          }
        },
        "gmail": {},
        "drive": {},
        "calendar": {},
        "docs": {},
        "sheets": {},
        "slides": {}
      }
    }
    
  5. Erstellen Sie die Bereitstellung:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

Add-on installieren

  1. Installation der Bereitstellung im Entwicklungsmodus:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Öffnen oder aktualisieren Sie Gmail, um das Add-on zu sehen. Suchen Sie in der Symbolleiste rechts nach dem Bechersymbol.

  3. Klicken Sie auf das Symbol, um das Add-on zu öffnen. Autorisieren Sie das Add-on, wenn Sie dazu aufgefordert werden.

Optional: Bereinigen

Löschen Sie die erstellten Ressourcen, damit Ihrem Konto keine Gebühren in Rechnung gestellt werden:

  1. So deinstallieren Sie das Add-on aus Ihrem Google-Konto:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Löschen Sie das Cloud-Projekt, um zu vermeiden, dass Ihnen die in dieser Kurzanleitung verwendeten Ressourcen in Rechnung gestellt werden:

    gcloud projects delete PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die ID des Cloud-Projekts, das Sie für den Schnellstart verwendet haben. Sie finden die Cloud-Projekt-ID in der Google Cloud Console auf der Dashboard-Seite.

Nächste Schritte

Wenn Sie Ihrem Google Workspace-Add-on weitere Funktionen hinzufügen möchten, lesen Sie die folgenden Anleitungen: