Google Workspace-Add-on mit Node.js erstellen

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

Zielsetzungen

  • die Umgebung einrichten
  • Cloud Functions-Funktion erstellen und bereitstellen
  • Add-on erstellen und bereitstellen
  • 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. Oder klicken Sie auf Projekt erstellen und folgen Sie der Anleitung auf dem Bildschirm. 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 Zustimmungsbildschirms erforderlich. Wird konfiguriert OAuth-Zustimmungsbildschirm Ihres Add-ons definiert, was Google angezeigt wird.

  1. Öffnen Sie in der Google Cloud Console das Menü . > APIs und Dienste > OAuth-Zustimmungsbildschirm.

    Zum OAuth-Zustimmungsbildschirm

  2. Wählen Sie für Nutzertyp die Option Intern aus und klicken Sie dann auf Erstellen.
  3. Füllen Sie das App-Registrierungsformular aus und klicken Sie dann auf Speichern und fortfahren.
  4. Vorerst können Sie das Hinzufügen von Bereichen überspringen und auf Speichern und fortfahren klicken. Wenn Sie in Zukunft eine App erstellen, die außerhalb Ihres Google Workspace-Organisation verwenden, müssen Sie den Nutzertyp in Extern ändern. fügen Sie die Autorisierungsbereiche hinzu, die Ihre Anwendung benötigt.

  5. Überprüfen Sie Ihre App-Registrierungsübersicht. Klicken Sie auf Bearbeiten, um Änderungen vorzunehmen. Wenn die App mit der Registrierung in Ordnung ist, klicken Sie auf Zurück zum Dashboard.

Cloud Functions-Funktionen erstellen und bereitstellen

  1. Aktivieren Sie in einem lokalen Terminal Cloud Functions, Cloud Build und den 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 String: 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
    

    Wenn Sie dazu aufgefordert werden, geben Sie an, dass Sie keine nicht authentifizierten Aufrufe des . Es kann einige Minuten dauern, bis die Funktion bereitgestellt wird.

Add-on-Bereitstellung erstellen

  1. Suchen Sie nach der 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 folgenden Befehl aus, um die URL abzurufen: und suchen Sie unter dem Abschnitt httpsTrigger nach dem Feld url:

    gcloud functions describe loadHomePage
    
  4. Erstellen Sie die Datei deployment.json mit dem folgenden Beispielcode. Ersetzen 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. Installieren Sie die Bereitstellung im Entwicklungsmodus:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Öffnen Sie Gmail oder aktualisieren Sie es, um das Add-on aufzurufen. In in der Symbolleiste rechts nach einem Bechersymbol.

  3. Klicken Sie auf das Symbol, um das Add-on zu öffnen. Wenn Sie dazu aufgefordert werden, und autorisieren Sie das Add-on.

Optional: Bereinigung

Löschen Sie die Ressourcen, die Sie Erstellt:

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

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Um zu vermeiden, dass Gebühren für die in dieser Kurzanleitung verwendeten Ressourcen anfallen, löschen Sie Cloud-Projekt:

    gcloud projects delete PROJECT_ID
    

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

Nächste Schritte

Informationen zum Hinzufügen weiterer Funktionen zu Ihrem Google Workspace-Add-on finden Sie in der folgenden Anleitungen: