Google Tabellen ist eine cloudbasierte Tabellenlösung, die die Echtzeit-Zusammenarbeit unterstützt und Tools zum Visualisieren, Verarbeiten und Kommunizieren von Daten bietet.
In dieser Anleitung wird gezeigt, wie Sie einen Workflow erstellen und bereitstellen, der einen Callback-Endpunkt (oder Webhook) erstellt, die Callback-URL in Google Tabellen speichert, die Ausführung pausiert und dann auf eine manuelle Genehmigung über die Tabellen-Tabelle wartet, um den Workflow neu zu starten. Weitere Informationen zur Verwendung von Callbacks
Lernziele
In dieser Anleitung wird Folgendes beschrieben:
- Erstellen Sie einen neuen Ordner in Google Drive. In diesem Ordner wird Ihre Tabelle gespeichert und der Workflow kann Daten in die Tabelle schreiben.
- Erstellen Sie eine Tabelle in Google Tabellen, um eine Genehmigung einzuholen und einen Callback an einen Workflow.
- Verwenden Sie Google Apps Script, ein cloudbasierte JavaScript-Plattform nutzen, mit der Sie und Google Workspace-Produkte bearbeiten, um die Wiederaufnahme einer pausierten wenn eine Anfrage durch eine Aktualisierung der Tabelle genehmigt wird.
- Erstellen und implementieren Sie einen Workflow, der den Google Sheets API-Connector aufruft, um Daten an die Tabelle anzuhängen. Der Workflow wird ausgeführt, angehalten und dann fortgesetzt, wenn ein Callback über die Tabelle genehmigt wird. Weitere Informationen zu Workflows-Connectors
- Testen Sie den gesamten Prozess und bestätigen Sie, dass der Workflow wie erwartet verläuft.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
In dieser Anleitung wird auch Google Workspace verwendet. Dienste für Unternehmen, die nicht in den kostenlosen Google-Apps für Nutzer enthalten sind abrechenbar sind.
Hinweis
Einige der folgenden Befehle können Sie in der Google Cloud Console oder über die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell ausführen.
Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.
Console
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Aktivieren Sie Compute Engine, Tabellen und Workflows APIs.
Notieren Sie sich die Compute Engine-Standarddienstkonto da Sie es mit dem Workflow in dieser Anleitung verknüpfen, zu verstehen. Neue Projekte, für die die Compute Engine API aktiviert ist dieses Dienstkonto mit der IAM-Basisversion Bearbeiterrolle mit folgendem E-Mail-Format:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ihre Projektnummer finden Sie auf der Willkommen Seite der Google Cloud Console.
Für Produktionsumgebungen empfehlen wir dringend, Erstellen eines neuen Dienstkontos und und ihm eine oder mehrere IAM-Rollen zuweisen, die den Erforderliche Mindestberechtigungen und folgen dem Prinzip der geringste Berechtigung:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Aktivieren Sie Compute Engine, Tabellen und Workflows APIs.
gcloud services enable \ compute.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Notieren Sie sich die Compute Engine-Standarddienstkonto da Sie es mit dem Workflow in dieser Anleitung verknüpfen, zu verstehen. Bei neuen Projekten, für die die Compute Engine API aktiviert ist, wird dieses Dienstkonto mit der IAM-Rolle „Bearbeiter“ und im folgenden E-Mail-Format erstellt:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
So rufen Sie Ihre Projektnummer ab:
gcloud projects describe PROJECT_ID
Für Produktionsumgebungen empfehlen wir dringend, ein neues Dienstkonto zu erstellen und ihm eine oder mehrere IAM-Rollen zuzuweisen, die die erforderlichen Mindestberechtigungen enthalten und dem Grundsatz der geringsten Berechtigung folgen.
Neuen Ordner in Google Drive erstellen
Erstellen Sie einen neuen Ordner in Google Drive. In diesem Ordner werden Ihre Tabelle. Wenn Sie eine Berechtigung für den freigegebenen Ordner einrichten, darf Ihr Workflow in die Tabelle schreiben.
- Rufen Sie drive.google.com auf.
- Klicken Sie auf Neu > Neuer Ordner.
- Geben Sie einen Namen für den Ordner ein.
- Klicken Sie auf Erstellen.
- Klicken Sie mit der rechten Maustaste auf den neuen Ordner und wählen Sie Freigeben aus.
E-Mail-Adresse für den Compute Engine-Standarddienst hinzufügen Konto.
Dadurch erhält das Dienstkonto Zugriff auf den Ordner. Wenn Sie Dienstkonto mit Ihrem Workflow verknüpfen, enthält der Workflow Zugriff auf beliebige Dateien im Ordner. Weitere Informationen zum Freigeben von Dateien, Ordnern und Laufwerken
Wählen Sie die Rolle Bearbeiter aus.
Entfernen Sie das Häkchen aus dem Kästchen Personen benachrichtigen.
Klicken Sie auf Freigeben.
Tabellen mit Google Tabellen erstellen
Wenn Sie eine Tabelle über Google Tabellen erstellen, wird sie in Google Drive gespeichert. Standardmäßig wird die Tabelle im Stammordner der Drive Mit der Google Sheets API können Sie keine Tabelle direkt in einem bestimmten Ordner erstellen. Es gibt jedoch Alternativen, z. B. die Möglichkeit, die Tabelle nach dem Erstellen in einen bestimmten Ordner zu verschieben, wie in diesem Beispiel gezeigt. Weitere Informationen finden Sie unter Mit Google Drive-Ordnern arbeiten
Rufen Sie sheets.google.com auf.
Klicken Sie auf Neu .
Dadurch wird eine neue Tabelle erstellt und geöffnet. Jede Tabelle hat einen eindeutigen
spreadsheetId
-Wert, der Buchstaben, Ziffern, Bindestriche oder Unterstriche enthalten kann. Sie finden die Tabellen-ID in einer Google Sheets-URL:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Notieren Sie sich diese ID, da sie beim Erstellen des Workflows benötigt wird.
Fügen Sie Spaltenüberschriften hinzu, die dem folgenden Beispiel entsprechen:
Der Wert in Spalte G, Genehmigt?, wird verwendet, um Rückrufe im Workflow zu initiieren.
Verschieben Sie die Tabelle in den zuvor erstellten Google Drive-Ordner:
- Wählen Sie in der Tabelle Datei > Verschieben aus.
- Gehen Sie zu dem Ordner, den Sie erstellt haben.
- Klicken Sie auf Verschieben.
Sie können auch die
Google Sheets API-Connector
um eine Tabelle zu erstellen. Wenn Sie den Connector verwenden,
spreadsheetId
kann aus dem resp
-Ergebnis abgerufen werden.
Beispiel:
- create_spreadsheet: call: googleapis.sheets.v4.spreadsheets.create args: body: connector_params: scopes: ${driveScope} result: resp - assign_sheet_id: assign: - sheetId: ${resp.spreadsheetId}
Google Tabellen mit Apps Script erweitern
Mit Apps Script können Sie Google-Tabellen programmatisch erstellen, lesen und bearbeiten. Die meisten für Google Tabellen entwickelten Skripts Arrays, um mit den Zellen, Zeilen und Spalten in einer Tabellenkalkulation zu interagieren. Eine Einführung in die Verwendung von Apps Script in Google Tabellen finden Sie in der Kurzanleitung für benutzerdefinierte Funktionen.
So erstellen Sie ein Apps Script-Projekt über Google Tabellen:
- Öffnen Sie Ihre Tabelle in Google Tabellen.
- Wählen Sie Erweiterungen > Apps Script aus.
- Klicken Sie im Skripteditor auf Unbenanntes Projekt.
- Geben Sie Ihrem Projekt einen Namen und klicken Sie auf Umbenennen.
Das Skript ist jetzt mit Ihrer Tabelle verbunden. Dadurch erhält das Skript besondere Möglichkeiten, die Benutzeroberfläche oder wenn die Tabelle geöffnet wird.
Ein Script-Projekt stellt eine Sammlung von Apps Script-Dateien und ‑Ressourcen dar. Codedateien in einem Scriptprojekt haben die Erweiterung
.gs
.Mit Apps Script können Sie benutzerdefinierte Funktionen schreiben, die Sie in Google Tabellen genau wie eine integrierte Funktion verwenden können. Benutzerdefinierte Funktionen werden mit Standard-JavaScript erstellt. Erstellen Sie eine Funktion:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Bearbeiter .
- Eine Skriptdatei wird als Projektdatei mit dem Namen
Code.gs
angezeigt. So bearbeiten Sie die Datei: wählen Sie es aus. Ersetzen Sie den gesamten Code im Script-Editor durch den folgenden Code, der die Daten in Ihrer Tabelle liest und als Eingabe an die Workflowausführung weitergibt:
Klicken Sie auf „Speichern“
.
Google Apps-Skript installierbare Trigger Ein Skriptprojekt soll eine bestimmte Funktion ausführen, wenn bestimmte Bedingungen erfüllt sind z. B. wenn eine Tabelle geöffnet oder bearbeitet wird. Erstellen Sie einen Trigger:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Trigger .
- Klicken Sie auf Trigger hinzufügen.
- Konfigurieren Sie im Dialogfeld Trigger für DEIN_PROJEKTNAMEN hinzufügen den Trigger:
- Wählen Sie in der Liste Auswählen, welche Funktion ausgeführt werden soll die Option handleEdit aus.
- Wählen Sie in der Liste Auszuführende Bereitstellung auswählen die Option Head aus.
- Wählen Sie in der Liste Ereignisquelle auswählen die Option Aus Tabelle aus.
- Wählen Sie in der Liste Ereignistyp auswählen die Option Bei Bearbeitung aus.
- Wählen Sie in der Liste Benachrichtigungseinstellungen bei Fehlern die Option Täglich benachrichtigen aus.
- Klicken Sie auf Speichern.
Wenn Sie aufgefordert werden, ein Google-Konto auszuwählen, wählen Sie das entsprechende Konto aus und klicken Sie dann auf Zulassen.
So kann Ihr Apps Script-Projekt Ihre Google Tabellen aufrufen, bearbeiten, erstellen und löschen sowie eine Verbindung zu einem externen Dienst herstellen.
Eine Manifestdatei eines Apps Script-Projekts ist eine JSON-Datei mit grundlegenden Projektinformationen, Apps Script muss ein Script erfolgreich ausführen. Im Apps Script-Editor werden Manifestdateien standardmäßig ausgeblendet, um die Einstellungen Ihres Apps Script-Projekts zu schützen. Bearbeiten Sie die Manifestdatei:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Projekteinstellungen .
- Aktivieren Sie das Kontrollkästchen "appsscript.json" anzeigen Manifestdatei im Editor an.
- Klicken Sie auf Bearbeiter .
- Die Manifestdatei wird als Projektdatei mit dem Namen
appsscript.json
angezeigt. Bis die Datei bearbeiten, wählen Sie sie aus. Im Feld
oauthScopes
wird ein Array von Strings angegeben. Wenn Sie die Autorisierungsbereiche festlegen möchten, die in Ihrem Projekt verwendet werden, fügen Sie ein Array mit den Bereichen hinzu, die unterstützt werden sollen. Beispiel:{ "timeZone": "America/Toronto", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spreadsheets" ] }
Dadurch werden die expliziten Bereiche auf Folgendes festgelegt:
- Verbindung mit externem Dienst herstellen
- Google Cloud-Daten abrufen, bearbeiten, konfigurieren und löschen sowie die E-Mail-Adresse Ihres Google-Kontos
- Alle Ihre Google Sheets-Tabellen aufrufen, bearbeiten, erstellen oder löschen
Klicken Sie auf „Speichern“
.
Workflow bereitstellen, der in eine Tabelle schreibt und Callbacks verwendet
Stellen Sie einen Workflow bereit, der ausgeführt, pausiert und dann fortgesetzt wird, wenn ein Callback Tabelle genehmigt haben. Der Workflow schreibt in eine Google-Tabelle mit dem Google Sheets API-Connector.
Console
Rufen Sie in der Google Cloud Console die Seite Workflows auf. Seite:
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
workflows-awaits-callback-sheets
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie als Dienstkonto das Compute Engine-Standarddienstkonto (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) aus.Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die folgende Definition für den Workflow ein:
Ersetzen Sie den Platzhalter
sheetId
durch IhrenspreadsheetId
.Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch workflows-awaits-callback-sheets.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Ersetzen Sie den Platzhalter
sheetId
durch IhrenspreadsheetId
.Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy workflows-awaits-callback-sheets \ --source=workflows-awaits-callback-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ersetzen Sie
PROJECT_NUMBER
durch Ihre Google Cloud-Projektnummer. So rufen Sie Ihre Projektnummer ab:gcloud projects describe PROJECT_ID
End-to-End-Vorgang testen
Führen Sie den Workflow aus, um den End-to-End-Flow zu testen. Durch die Ausführung eines Workflows wird der aktuelle Workflowdefinition, die mit dem Workflow verknüpft ist.
Console
Rufen Sie in der Google Cloud Console die Seite Workflows auf. Seite:
Wählen Sie auf der Seite Workflows workflows-awaits-callback-sheets, um die zugehörige Detailseite aufzurufen.
Klicken Sie auf der Seite Workflowdetails auf play_arrow Ausführen.
Klicken Sie noch einmal auf Ausführen.
Der Workflow wird gestartet und der Ausführungsstatus sollte Running lauten. Die Protokolle zeigen auch an, dass der Workflow pausiert und wartet:
Execute steps here before waiting for callback from sheets ... Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
Prüfen Sie, ob der Workflow die Rückrufdetails in eine Zeile Ihrer Tabelle geschrieben hat.
In der Spalte Ausführungs-ID sollte beispielsweise die ID der Workflowausführung, in der Spalte Callback-URL ein Callback-Endpunkt und in der Spalte Genehmigt? FALSE angezeigt werden.
Ändern Sie in der Tabelle FALSE in TRUE.
Nach ein bis zwei Minuten sollte die Ausführung fortgesetzt und dann mit dem Ausführungsstatus Erfolgreich abgeschlossen werden.
gcloud
Öffnen Sie ein Terminalfenster.
Führen Sie den Workflow aus:
gcloud workflows run workflows-awaits-callback-sheets
Der Workflow wird gestartet und in der Ausgabe sollte angezeigt werden, dass der Workflow pausiert ist und wartet:
Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.
Prüfen Sie, ob der Workflow die Callback-Details in eine Zeile in in Ihrer Tabelle.
In der Spalte Ausführungs-ID sollte beispielsweise die ID der Workflowausführung, in der Spalte Callback-URL ein Callback-Endpunkt und in der Spalte Genehmigt? FALSE angezeigt werden.
Ändern Sie in der Tabelle FALSE in TRUE.
Nach ein bis zwei Minuten sollte die Ausführung fortgesetzt und dann mit dem Ausführungsstatus
SUCCEEDED
abgeschlossen werden.
Bereinigen
Wenn Sie ein neues Projekt für diese Anleitung erstellt haben, löschen Sie das Projekt. Wenn Sie ein vorhandenes Projekt verwendet haben und es beibehalten möchten, ohne die Änderungen in dieser Anleitung hinzuzufügen, löschen Sie die für die Anleitung erstellten Ressourcen.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.
So löschen Sie das Projekt:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.