Google Cloud-Add-ons in Cloud Functions mit der Node.js-Laufzeit erstellen.
Zielsetzungen
- die Umgebung einrichten
- eine Cloud Functions-Funktion erstellen und bereitstellen
- Erstellen Sie das Add-on und stellen Sie es bereit.
- Installieren Sie das Add-on.
Voraussetzungen
- Ein Google Cloud-Projekt
- Aktivieren Sie die Abrechnung für Ihr Cloud-Projekt. 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 muss der Einwilligungsbildschirm konfiguriert werden. Wenn Sie den OAuth-Zustimmungsbildschirm des Add-ons konfigurieren, wird festgelegt, was Google den Nutzern angezeigt wird.
- Gehen Sie in der Google Cloud Console zu „Menü“ > APIs und Dienste > OAuth-Zustimmungsbildschirm.
- Wählen Sie den Nutzertyp für Ihre App aus und klicken Sie auf Erstellen.
- Füllen Sie das Formular zur App-Registrierung aus und klicken Sie auf Speichern und fortfahren.
Sie können das Hinzufügen von Bereichen überspringen und auf Speichern und fortfahren klicken. 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.
- Wenn Sie als Nutzertyp Extern ausgewählt haben, fügen Sie Testnutzer hinzu:
- Klicken Sie unter Nutzer testen auf Nutzer hinzufügen.
- Geben Sie Ihre E-Mail-Adresse und alle anderen autorisierten Testnutzer ein und klicken Sie auf Speichern und fortfahren.
- Sehen Sie sich die Zusammenfassung Ihrer App-Registrierung an. Wenn Sie Änderungen vornehmen möchten, klicken Sie auf Bearbeiten. Wenn die Registrierung der App in Ordnung ist, klicken Sie auf Zurück zum Dashboard.
Cloud Functions-Funktionen erstellen und bereitstellen
Aktivieren Sie in einem lokalen Terminal die Cloud Functions-Funktionen, 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
Wenn Sie dazu aufgefordert werden, geben Sie an, dass Sie nicht authentifizierte Aufrufe der Funktion nicht zulassen. Es kann einige Minuten dauern, bis die Funktion bereitgestellt ist.
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 zum Abrufen der URL den folgenden Befehl aus 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
Installieren Sie das Deployment im Entwicklungsmodus:
gcloud workspace-add-ons deployments install quickstart
Öffnen oder aktualisieren Sie Gmail, um das Add-on aufzurufen. Suchen Sie in der rechten Symbolleiste nach einem Bechersymbol.
Klicken Sie auf das Symbol, um das Add-on zu öffnen. Autorisieren Sie gegebenenfalls das Add-on.
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, 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 Cloud-Projekts, das Sie für die Kurzanleitung verwendet haben. Die Cloud-Projekt-ID finden Sie in der Google Cloud Console auf der Dashboard-Seite.
Nächste Schritte
In den folgenden Leitfäden erfahren Sie, wie Sie Ihrem Google Workspace-Add-on weitere Funktionen hinzufügen können: