1. Einführung in Google Apps Script
In diesem Codelab lernen Sie eine der einfachsten Möglichkeiten kennen, Code für den Zugriff auf Google-Entwicklertechnologien zu schreiben. Dies geschieht über JavaScript, eine gängige Sprache für die Webentwicklung. Mit Google Apps Script schreiben Sie Code, um eine Adresse aus einer Zelle in einer Google-Tabelle zu extrahieren, basierend auf der Adresse eine Google Maps-Karte zu generieren und die Karte dann über Gmail als Anhang zu senden. Und das Beste ist: Sie besteht nur aus vier Zeilen Code.
Lerninhalte
- Hier erfahren Sie, wie Sie Google Apps Script mit verschiedenen Google-Diensten verwenden, z. B. Google Tabellen, Google Maps und Gmail.
- Entwickeln Sie Code mit dem Browser-Editor für Apps Script.
Voraussetzungen
- Einen Webbrowser mit Zugriff auf das Internet
- Ein Google-Konto (Google Workspace-Konten erfordern möglicherweise die Genehmigung eines Administrators)
- Grundkenntnisse in Google Tabellen
- Lesezugriff auf Google Tabellen A1-Notation
2. Umfrage
Wie werden Sie dieses Codelab/Tutorial verwenden?
<ph type="x-smartling-placeholder">Wie würden Sie Ihre Erfahrungen mit den Google Workspace-Entwicklertools und APIs?
<ph type="x-smartling-placeholder">3. Übersicht
Nachdem Sie nun wissen, worum es in diesem Codelab geht, was genau werden Sie tun?
- Erfahren Sie etwas über Apps Script, das auf JavaScript basiert.
- Erstellen Sie eine Tabelle in Google Tabellen.
- Geben Sie in die linke obere Zelle der Tabelle (A1) eine Adresse ein.
- Hier erfahren Sie, wie Sie den Apps Script-Editor für ein beliebiges Dokument öffnen.
- Sie können den Apps Script-Code bearbeiten, speichern und ausführen.
- Verwenden Sie Gmail, um sich das Ergebnis anzusehen.
Legen wir los!
Was ist Google Apps Script?
Google Apps Script ist eine Entwicklungsplattform, mit der Sie schnell und einfach Skripts und kleine Anwendungen erstellen können, die sich in Google Workspace einbinden lassen. mit folgenden Vorteilen:
- Sie können Code in JavaScript schreiben und auf integrierte Bibliotheken für Google Workspace-Anwendungen wie Gmail, Kalender und Drive zugreifen.
- Sie müssen nichts installieren. Wir stellen Ihnen einen Code-Editor direkt in Ihrem Browser zur Verfügung und Ihre Skripts werden auf den Servern von Google ausgeführt.
- Sie müssen sich keine Gedanken über komplexe Themen wie Sicherheit und Datenzugriffsberechtigungen machen, da die Plattform dies für Sie übernimmt.
Mit Apps Script lassen sich verschiedene Anwendungen erstellen, von Chatbots bis hin zu Webanwendungen. Eine der häufigsten Anwendungsbereiche ist die Erweiterung der Funktionen einer Tabelle in Google Tabellen. Im restlichen Codelab erfahren Sie, wie Sie mit Apps Script Daten aus einer Tabelle mit anderen Google-Diensten verbinden.
4. Google-Tabelle erstellen und Adresse eingeben
Geben Sie in einer neuen Google-Tabelle eine gültige Adresse ein. Gehen Sie dazu so vor:
- Erstellen Sie über diesen Link (sheets.google.com/create) eine Google-Tabelle. Alternativ können Sie Google Drive (drive.google.com) aufrufen und auf Neu klicken. Google Tabellen > Leere Tabelle
- Gehen Sie in der leeren Tabellenkalkulation zur ersten Zelle oben links (A1). Die Zelle ist in Spalte A und Zeile 1. Wenn Sie sich die Kenntnisse noch einmal ansehen möchten, können Sie sich diese Beschreibung der A1-Notation ansehen.
- Geben Sie eine gültige Adresse in die Zelle ein. Wählen Sie eine Adresse auf der ganzen Welt mit einem genauen Standort aus. Verwenden Sie dazu eine Straße, eine Postleitzahl oder eine Kombination aus Stadt und Bundesland. Hier ist eine Beispieladresse in New York City:
Das ist alles, was Sie in der Tabelle tun müssen. Wir öffnen den Editor und schreiben Code.
5. Apps Script-Code bearbeiten
Da Sie nun eine neue Google-Tabelle haben, können Sie das gebundene Skript bearbeiten. Folge dazu einfach diesen Schritten:
Script-Editor öffnen
Wählen Sie in der Menüleiste Erweiterungen > Apps Script, um den Browser-Code-Editor für Apps Script zu öffnen.
Auf einem neuen Browsertab wird im Codeeditor das Standardskript container-bound für die Tabelle angezeigt. Eine Standardfunktion namens myFunction()
wird automatisch erstellt und der Cursor wird innerhalb der Funktion platziert, damit Sie beginnen können.
Google-Karte der Adresse per E-Mail senden
Die „Vorlage“ angegebener Code ist leer. Ersetzen wir ihn also durch unsere Anwendung.
- Ersetzen Sie im Script-Editor den standardmäßigen
myFunction()
-Codeblock durch den folgenden Code:
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- Ersetzen Sie die Platzhalter-E-Mail-Adresse (
'YOUR_EMAIL_ADDR'
) durch eine gültige Adresse. Beispiel: friend@example.com. - Klicken Sie auf „Speichern“ , um das Script zu speichern.
- Wenn Sie Ihr Apps Script-Projekt umbenennen möchten, klicken Sie auf Unbenanntes Projekt, geben Sie einen Titel für das Projekt ein und klicken Sie auf Umbenennen.
Codeüberprüfung
Sehen wir uns die vier Zeilen der Funktion sendMap()
an, aus denen die gesamte Anwendung besteht. Interessanterweise verweist der Code auf drei verschiedene Google-Produkte.
Die erste Zeile ist ein Anmerkungskommentar, der sich auf die Autorisierung auswirkt:
/** @OnlyCurrentDoc */
Bei den meisten Scripts werden Nutzer nach einigen Berechtigungen gefragt, bevor sie ausgeführt werden können. Mit diesen Berechtigungen wird festgelegt, welche Aktionen der Nutzer dem Skript erlaubt. Die erste Zeile ist ein Kommentar mit einem optionalen Vermerk, der Apps Script anweist, den Zugriff auf die aktuelle Tabelle (im Gegensatz zu allen Tabellen des Nutzers) zu beschränken. Es hat sich immer bewährt, diese Annotation einzufügen, wenn Sie nur mit einer einzigen Datei arbeiten.
Im Code wird eine normale Deklaration einer JavaScript-Funktion für sendMap()
verwendet:
function sendMap() {
In der nächsten Zeile wird der Tabellenkalkulationsdienst aufgerufen, auf den in Apps Script über das SpreadsheetApp
-Objekt zugegriffen werden kann. Die zurückgegebene Tabelle wird einer Variablen mit demselben Namen zugewiesen. Die Methode getActiveSheet()
ruft einen Verweis auf das aktuelle Tabellenblattobjekt ab und speichert es in der Variablen sheet
.
var sheet = SpreadsheetApp.getActiveSheet();
Mit dem sheet
-Objekt wird auf den Zellenbereich (einer einzelnen Zelle) in A1-Schreibweise mit getRange()
verwiesen. Ein „Bereich“ ist eine Gruppe von Zellen, einschließlich einer einzelnen wie Zelle A1
(die Zelle, in die wir die Adresse eingegeben haben). Um innerhalb des Bereichs abzurufen, gibt die Methode getValue()
den Wert der linken oberen Zelle im Bereich zurück und weist den Wert der Variablen address
zu. Sie können auch mehr Adressen hinzufügen und aus anderen Zellen lesen.
var address = sheet.getRange('A1').getValue();
Die dritte Codezeile stellt über das Maps
-Objekt eine Verbindung zum Google Maps-Dienst her. Mit newStaticMap()
wird ein statisches Kartenobjekt erstellt und mit der Methode addMarker()
wird ein Stecknadelsymbol hinzugefügt. mithilfe der Adresse im Blatt.
var map = Maps.newStaticMap().addMarker(address);
Schließlich ruft der Gmail-Dienst über das MailApp
-Objekt die Methode sendEmail()
auf, um die E-Mail zu senden, die den Text „Siehe unten“ enthält. und das Kartenbild als Anhang.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Google Sheets, Google Maps und Gmail ausführen
Nachdem Sie sie benannt und gespeichert haben, ist es an der Zeit, die Funktion auszuführen. Achten Sie darauf, dass oben im Editor in der Liste der Funktionen sendMap()
ausgewählt ist, und klicken Sie auf Ausführen.
Eine App Script-Funktion, die Entwickler schätzen, ist, dass Sie keinen Autorisierungscode schreiben müssen, der dem Programm Zugriff auf die Daten des Nutzers gewährt. Obwohl Apps Script dies verwaltet, müssen Nutzer Ihrer App dem Skript dennoch die Berechtigung erteilen, auf ihre Tabellen zuzugreifen und E-Mails über Gmail zu senden. Das erste Dialogfeld für die Autorisierung sieht so aus:
Klicken Sie auf Berechtigungen prüfen, um fortzufahren.
Als Nächstes wird ein OAuth2-Dialogfenster angezeigt, in dem Sie um die Berechtigung zum Zugriff auf Ihre Tabelle und zum Senden von E-Mails in Ihrem Namen gebeten werden:
Sobald Sie die Berechtigung erteilen, wird die Ausführung des Skripts abgeschlossen.
Suchen Sie in dem E-Mail-Konto, an das Sie die Nachricht gesendet haben, eine E-Mail mit dem Text auf der Karte. als Betreff und eine Nachricht wie diese:
Wenn Sie den Anhang in der E-Mail öffnen, sollten Sie eine Google-Karte mit einer Markierung an der Adresse sehen, die Sie in die Tabelle eingegeben haben:
Mit nur vier Zeilen Code konnten Sie auf drei verschiedene Google-Produkte sinnvoll zugreifen.
7. Zusätzliche Ressourcen
Der Code aus diesem Codelab ist auch im GitHub-Repository unter github.com/googleworkspace/apps-script-intro-codelab verfügbar. Unten finden Sie weitere Ressourcen mit weiteren Informationen zu den Inhalten in diesem Codelab und zu anderen Möglichkeiten, programmatisch auf die Google-Entwicklertools zuzugreifen.
Dokumentation
- Dokumentationswebsite für Google Apps Script
- Apps Script: Gmail
- Apps Script: Tabellenkalkulation
- Apps Script: Google Maps
Videos
Neuigkeiten & Updates
- Blog für Google Workspace-Entwickler
- Twitter: Google Workspace-Entwickler (@workspacedevs)
Weitere Codelabs
Einführung
- [Google Tabellen] Apps Scripts mit Google Tabellen: Grundlagen
- [REST APIs] Google Workspace nutzen und Google APIs für den Zugriff auf Dateien und Ordner in Google Drive
Fortgeschritten
- [Apps Script] Google Workspace-Add-ons für Gmail
- [Apps Script] Benutzerdefinierte Bots für Hangouts Chat
- [REST APIs] Google Tabellen als Berichtstool für Ihre Anwendung verwenden
- [REST APIs] Google Präsentationen mit der BigQuery API erstellen