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
- Ein Google Cloud-Projekt
- Die Abrechnung für Ihr Cloud-Projekt muss aktiviert sein. Weitere Informationen zum Prüfen des Abrechnungsstatus Ihrer Projekte
- Das Cloud SDK, das mit dem Cloud-Projekt konfiguriert ist.
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. 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.
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > > Branding.
- Wenn Sie die bereits konfiguriert haben, können Sie die folgenden Einstellungen für den OAuth-Zustimmungsbildschirm unter Branding, Zielgruppe und Datenzugriff konfigurieren. Wenn Sie die Meldung Noch nicht konfiguriert sehen, klicken Sie auf Jetzt starten:
- Geben Sie unter App-Informationen im Feld App-Name einen Namen für die App ein.
- Wählen Sie unter E-Mail-Adresse des Nutzersupports eine Support-E-Mail-Adresse aus, über die Nutzer Sie mit Fragen zu ihrer Einwilligung kontaktieren können.
- Klicken Sie auf Weiter.
- Wählen Sie unter Zielgruppe die Option Intern aus.
- Klicken Sie auf Weiter.
- Geben Sie unter Kontaktinformationen eine E-Mail-Adresse ein, unter der Sie über Änderungen an Ihrem Projekt informiert werden können.
- Klicken Sie auf Weiter.
- Lesen Sie unter Fertigstellen die Nutzerdatenrichtlinie für Google API-Dienste und wählen Sie dann Ich akzeptiere die Richtlinie zu Nutzerdaten für Google API-Dienste aus, wenn Sie zustimmen.
- Klicken Sie auf Weiter.
- Klicken Sie auf Erstellen.
- Sie können das Hinzufügen von Bereichen vorerst überspringen. 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. Fügen Sie dann die Autorisierungsbereiche hinzu, die für Ihre App erforderlich sind. Weitere Informationen finden Sie in der vollständigen Anleitung OAuth-Zustimmung konfigurieren.
Cloud Functions-Funktionen erstellen und bereitstellen
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
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" } } ] } ] } } ] } }; }
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
Suchen Sie die E-Mail-Adresse des Dienstkontos für das Add-on:
gcloud workspace-add-ons get-authorization
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
Rufen Sie die URL der bereitgestellten Funktion ab. Führen Sie den folgenden Befehl aus, um die URL abzurufen, und suchen Sie im Abschnitt
httpsTrigger
nach dem Feldurl
:gcloud functions describe loadHomePage
Erstellen Sie die Datei
deployment.json
mit dem folgenden Beispielcode. Ersetzen SieURL
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": {} } }
Erstellen Sie die Bereitstellung:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Add-on installieren
Installation der Bereitstellung im Entwicklungsmodus:
gcloud workspace-add-ons deployments install quickstart
Öffnen oder aktualisieren Sie Gmail, um das Add-on zu sehen. Suchen Sie in der Symbolleiste rechts nach dem Bechersymbol.
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:
So deinstallieren Sie das Add-on aus Ihrem Google-Konto:
gcloud workspace-add-ons deployments uninstall quickstart
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: