Google Workspace-Add-ons in Cloud Run-Funktionen mit der Node.js-Laufzeitumgebung erstellen.
Ziele
- Umgebung einrichten
- Cloud Run-Funktion erstellen und bereitstellen
- Add-on erstellen und bereitstellen
- Add-on installieren
Vorbereitung
Abrechnung für Ihr Cloud-Projekt aktivieren. Informationen zum Prüfen des Abrechnungsstatus Ihrer Projekte
Das Cloud SDK ist mit dem Cloud-Projekt konfiguriert.
Umgebung einrichten
Cloud-Projekt in der Google Cloud Console öffnen
- Rufen Sie in der Google Cloud Console die Seite Projekt auswählen auf.
- 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. Wenn Sie den OAuth-Zustimmungsbildschirm Ihres Add-ons konfigurieren, legen Sie fest, was Google den Nutzern anzeigt.
- Rufen Sie in der Google API Console das Menü > Google Auth Platform > Branding auf.
- Wenn Sie die Google Auth Platform bereits konfiguriert haben, können Sie die folgenden Einstellungen für den OAuth-Zustimmungsbildschirm unter Branding, Zielgruppe und Datenzugriff konfigurieren. Wenn die Meldung Google Auth Platform noch nicht konfiguriert angezeigt wird, klicken Sie auf Jetzt starten:
- Geben Sie unter Anwendungsinformationen im Feld Anwendungsname einen Namen für die App ein.
- Wählen Sie unter E‑Mail-Adresse für Nutzersupport eine E‑Mail-Adresse für den Support aus, über die Nutzer Sie kontaktieren können, wenn sie Fragen zu ihrer Einwilligung haben.
- Klicken Sie auf Weiter.
- Wählen Sie unter Zielgruppe die Option Intern aus.
- Klicken Sie auf Weiter.
- Geben Sie unter Kontaktdaten eine E‑Mail-Adresse ein, über die Sie über Änderungen an Ihrem Projekt informiert werden können.
- Klicken Sie auf Weiter.
- Lesen Sie unter Abschließen die Nutzerdatenrichtlinie für Google API-Dienste. Wenn Sie damit einverstanden sind, wählen Sie Ich akzeptiere die Richtlinie zu Nutzerdaten für Google API-Dienste aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Erstellen.
- Sie können das Hinzufügen von Bereichen vorerst überspringen. Wenn Sie später eine App für die Verwendung außerhalb Ihrer Google Workspace-Organisation erstellen, müssen Sie den Nutzertyp in Extern ändern. Fügen Sie dann die Autorisierungsbereiche hinzu, die für Ihre App erforderlich sind. Weitere Informationen finden Sie im vollständigen Leitfaden zum Konfigurieren des OAuth-Zustimmungsbildschirms.
Cloud Run-Funktion erstellen und bereitstellen
Klicken Sie auf Autorisieren , um Cloud Shell bereitzustellen und eine Verbindung herzustellen.
Aktivieren Sie im Cloud Shell-Terminal die Cloud Run Functions API, die Cloud Build API, die Google Workspace Add-ons API, die Compute Engine API und die Cloud Run API:
gcloud services enable cloudfunctions.googleapis.com \ cloudbuild.googleapis.com \ gsuiteaddons.googleapis.com \ compute.googleapis.com \ run.googleapis.comStarten Sie den Cloud Shell-Editor, indem Sie in der Symbolleiste des Cloud Shell-Fensters auf
Editor öffnen klicken.Der integrierte Codeeditor ermöglicht das Aufrufen und Bearbeiten von Dateien in der Umgebung, in der Projekte erstellt und bereitgestellt werden.
Erstellen Sie im leeren Verzeichnis die Datei
function.jsmit dem folgenden Beispielcode:/** * Cloud Run 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" } } ] } ] } } ] } }; }Erstellen Sie im selben Verzeichnis die Datei
package.jsonmit dem folgenden Beispielcode:{ "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }Kehren Sie zum Cloud Shell-Terminal zurück und klicken Sie dazu auf
Terminal öffnen.
Fügen Sie dem Compute Engine-Standarddienstkonto die Rolle
Cloud Build Service Account(roles/cloudbuild.builds.builder) hinzu.Richten Sie zuerst die Dienstkontoberechtigung ein:
export PROJECT_ID=$(gcloud config get project) export SERVICE_ACCOUNT_NAME=$(gcloud compute project-info describe \ --format="value(defaultServiceAccount)")Gewähren Sie als Nächstes die fehlende Dienstkontoberechtigung:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \ --role="roles/cloudbuild.builds.builder"Führen Sie den folgenden Befehl aus, um die Funktion bereitzustellen:
gcloud run deploy loadHomePage --runtime nodejs22 --trigger-httpGeben Sie bei Aufforderung an, dass Sie keine nicht authentifizierten Aufrufe der Funktion zulassen. Die Bereitstellung der Funktion kann einige Minuten dauern.
Add-on-Bereitstellung erstellen
Suchen Sie die E‑Mail-Adresse des Dienstkontos für das Add-on:
gcloud workspace-add-ons get-authorizationWeisen Sie dem Dienstkonto die
cloudfunctions.invokerRolle zu. Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch dasserviceAccountEmailFeld aus dem vorherigen Schritt.gcloud run services add-iam-policy-binding loadHomePage \ --role roles/roles/run.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAILRufen Sie die URL der bereitgestellten Funktion ab. Führen Sie dazu den folgenden Befehl aus und suchen Sie im Abschnitt
httpsTriggernach dem Feldurl:gcloud run services describe loadHomePageKehren Sie zum Cloud Shell-Editor zurück und klicken Sie dazu auf
Editor öffnen.Erstellen Sie im selben Verzeichnis wie
package.jsondie Dateideployment.jsonmit dem folgenden Beispielcode. Ersetzen Sie URL durch dieurlder 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": {}, "httpOptions": { "granularOauthPermissionSupport": "OPT_IN" } } }Kehren Sie zum Cloud Shell-Terminal zurück, um die Bereitstellung zu erstellen:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Add-on installieren
Installieren Sie die Bereitstellung im Entwicklungsmodus:
gcloud workspace-add-ons deployments install quickstartÖffnen oder aktualisieren Sie Gmail, um das Add-on aufzurufen. Suchen Sie in der Symbolleiste rechts nach einem Becher.
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, um Kosten zu vermeiden:
Deinstallieren Sie das Add-on aus Ihrem Google-Konto:
gcloud workspace-add-ons deployments uninstall quickstartLöschen Sie das Cloud-Projekt, um Kosten für die in dieser Kurzanleitung verwendeten Ressourcen zu vermeiden:
gcloud projects delete PROJECT_IDErsetzen Sie PROJECT_ID durch die ID des Cloud-Projekts, das Sie für die Kurzanleitung verwendet haben. Sie finden die Cloud-Projekt-ID in der Google API Console auf der Seite „Dashboard“.
Weitere Informationen
Informationen zum Hinzufügen weiterer Funktionen zu Ihrem Google Workspace-Add-on finden Sie hier:
- Google Workspace-Add-on mit HTTP-Endpunkten erstellen
- Codelab: Google Workspace-Add-on mit Node.js und Cloud Run erstellen
- Vorschaulinks mit Smartchips