Kurzanleitung zum Erstellen eines Add-ons in einer beliebigen Programmiersprache

Erstellen Sie ein Add-on für Google Workspace in Cloud Functions, ohne Apps Script zu verwenden.

Zielsetzungen

  • die Umgebung einrichten
  • Cloud Functions-Funktion erstellen und bereitstellen
  • Erstellen Sie das Add-on und stellen Sie es bereit.
  • Installieren Sie das Add-on.

Voraussetzungen

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.

Für Google Workspace-Add-ons muss ein Zustimmungsbildschirm konfiguriert werden. Wenn Sie den OAuth-Zustimmungsbildschirm des Add-ons konfigurieren, wird festgelegt, was Google den Nutzern anzeigt.

  1. Gehen Sie in der Google Cloud Console zum Menü > APIs & Dienste > OAuth-Zustimmungsbildschirm.

    Zum OAuth-Zustimmungsbildschirm

  2. Wählen Sie den Nutzertyp für Ihre App aus und klicken Sie auf Erstellen.
  3. Füllen Sie das App-Registrierungsformular aus und klicken Sie auf Speichern und fortfahren.
  4. Überspringen Sie vorerst das Hinzufügen von Bereichen und klicken Sie auf Speichern und fortfahren. Wenn Sie in Zukunft eine Anwendung für die Verwendung außerhalb Ihrer Google Workspace-Organisation erstellen, müssen Sie die für Ihre Anwendung erforderlichen Autorisierungsbereiche hinzufügen und prüfen.

  5. Wenn Sie als Nutzertyp Extern ausgewählt haben, fügen Sie Testnutzer hinzu:
    1. Klicken Sie unter Testnutzer auf Nutzer hinzufügen.
    2. Geben Sie Ihre E-Mail-Adresse und alle anderen autorisierten Testnutzer ein und klicken Sie dann auf Speichern und fortfahren.
  6. Sehen Sie sich die Zusammenfassung Ihrer App-Registrierung an. Klicken Sie auf Bearbeiten, um Änderungen vorzunehmen. Wenn die App-Registrierung in Ordnung ist, klicke auf Zurück zum Dashboard.

Cloud Functions-Funktionen erstellen und bereitstellen

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

    /**
     * Google 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 keine nicht authentifizierten Aufrufe der Funktion zulässig sind. Die Bereitstellung der Funktion kann einige Minuten dauern.

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:

    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. Installieren Sie das Deployment im Entwicklungsmodus:

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

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

Bereinigen

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

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Löschen Sie das Projekt, damit keine Gebühren für die in dieser Kurzanleitung verwendeten Ressourcen anfallen:

    gcloud projects delete PROJECT_ID
    

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