1. Google Apps Script – wprowadzenie
W ramach tego ćwiczenia w programie pokażemy Ci jeden z najprostszych sposobów pisania kodu korzystającego z technologii Google dla deweloperów. Wszystko to bazuje na języku JavaScript – popularnego języka programowania stron internetowych. Skrypt Google Apps Script pozwoli Ci napisać kod wyodrębniający adres pocztowy z komórki w arkuszu Google, wygenerować mapę Google na podstawie adresu, a następnie wysłać tę mapę jako załącznik, korzystając z Gmaila. A najlepsze jest to, Składa się on z 4 wierszy kodu.
Czego się nauczysz
- Jak używać Google Apps Script z różnymi usługami Google, takimi jak Arkusze Google, Mapy Google i Gmail
- Twórz kod za pomocą wbudowanego w przeglądarkę edytora Apps Script.
Czego potrzebujesz
- Przeglądarka z dostępem do internetu
- konto Google (konta Google Workspace mogą wymagać zatwierdzenia przez administratora),
- Podstawowa znajomość Arkuszy Google
- możliwość odczytywania notacji A1 w Arkuszach;
2. Ankieta
W jaki sposób będziesz używać tego ćwiczenia z programowania/samouczka?
Jak oceniasz swoje wrażenia z korzystania z narzędzi dla programistów Google Workspace Interfejsy API?
3. Omówienie
Wiesz już, o czym są ćwiczenia z programowania. Co dokładnie będziesz robić?
- Dowiedz się więcej o Apps Script, który jest oparty na języku JavaScript.
- Utwórz arkusz kalkulacyjny w Arkuszach Google.
- Wpisz adres w lewej górnej komórce arkusza (A1).
- Dowiedz się, jak otworzyć edytor Apps Script dowolnego dokumentu.
- Edytuj kod Apps Script, zapisz go i uruchom.
- Aby wyświetlić wynik, użyj Gmaila.
Możemy zaczynać.
Co to jest Google Apps Script?
Google Apps Script to platforma programistyczna, która umożliwia szybkie i łatwe tworzenie skryptów i małych aplikacji, które można zintegrować z Google Workspace. Apps Script umożliwia:
- Pisz kod w języku JavaScript i korzystaj z wbudowanych bibliotek dla aplikacji Google Workspace, takich jak Gmail, Kalendarz czy Dysk.
- Nie musisz niczego instalować – udostępniamy Ci edytor kodu bezpośrednio w przeglądarce, a Twoje skrypty są uruchamiane na serwerach Google.
- Nie musisz się martwić skomplikowanymi tematami, takimi jak bezpieczeństwo i uprawnienia dostępu do danych – platforma zajmuje się nimi za Ciebie.
Apps Script umożliwia tworzenie różnych aplikacji – od botów na czacie po aplikacje internetowe. Jednym z najpopularniejszych zastosowań jest rozszerzenie funkcjonalności arkusza kalkulacyjnego Arkuszy Google. W pozostałej części tego ćwiczenia w Codelabs dowiesz się, jak przy użyciu Apps Script pobierać dane z arkuszy kalkulacyjnych i łączyć je z innymi usługami Google.
4. Utwórz arkusz Google i wpisz ulicę i numer
W nowym arkuszu Google wpisz prawidłowy adres zgodnie z tymi instrukcjami:
- Utwórz arkusz Google, korzystając z tego wygodnego linku (sheets.google.com/create). Możesz też otworzyć Dysk Google (drive.google.com) i kliknąć Nowy > Arkusze Google > Pusty arkusz kalkulacyjny
- W pustym arkuszu kalkulacyjnym przejdź do pierwszej komórki w lewym górnym rogu (A1). Będzie on znajdować się w kolumnie A i wierszu 1. Jeśli chcesz odświeżyć swoją wiedzę, zapoznaj się z tym opisem notacji A1.
- Wpisz prawidłowy adres w komórce. Wybierz adres na świecie z dokładną lokalizacją – podaj ulicę, kod pocztowy lub kombinację miasta i województwa. Oto przykład adresu w Nowym Jorku:
To wszystko, co musisz zrobić w arkuszu. Otwórz edytor i napiszmy kod.
5. Edytuj kod Apps Script
Skoro masz już nowy arkusz Google, czas edytować powiązany skrypt. Aby to zrobić:
Otwórz edytor skryptów
Na pasku menu kliknij Rozszerzenia > Apps Script, aby otworzyć edytor kodu przeglądarki dla Apps Script.
Na nowej karcie przeglądarki edytor kodu pokazuje domyślny skrypt powiązany z kontenerem dla arkusza. Aby rozpocząć pracę z funkcją domyślną o nazwie myFunction()
, zostanie w niej umieszczony kursor.
Wyślij e-mailem adres z Map Google
Szablon Podany kod jest pusty. Zastąpmy go naszą aplikacją.
- W edytorze skryptów zastąp domyślny blok kodu
myFunction()
tym kodem:
/** @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]});
}
- Zastąp zastępczy adres e-mail (
'YOUR_EMAIL_ADDR'
) prawidłowym adresem. Przykład: friend@example.com. - Aby zapisać skrypt, kliknij Zapisz .
- Aby zmienić nazwę projektu Apps Script, kliknij Untitled project (Projekt bez tytułu), wpisz tytuł projektu i kliknij Zmień nazwę.
Weryfikacja kodu
Omówmy 4 wiersze funkcji sendMap()
, które składają się na całą aplikację. Co ciekawe, kod odwołuje się do 3 różnych produktów Google.
Pierwszy wiersz to komentarz adnotacji, który wpływa na autoryzację:
/** @OnlyCurrentDoc */
Większość skryptów wymaga od użytkownika uprawnień, zanim będą mogły zostać uruchomione. Te uprawnienia określają, na co użytkownik zezwala skryptowi. Pierwszy wiersz to komentarz zawierający opcjonalną adnotację z prośbą o ograniczenie dostępu dla Apps Script do bieżącego arkusza kalkulacyjnego (a nie do wszystkich arkuszy kalkulacyjnych użytkownika). Sprawdzoną metodą jest dodanie tej adnotacji, gdy pracujesz tylko z jednym plikiem.
Kod używa normalnej deklaracji funkcji JavaScriptu dla elementu sendMap()
:
function sendMap() {
W następnym wierszu wywołujesz usługę arkusza kalkulacyjnego dostępną z Apps Script za pomocą obiektu SpreadsheetApp
. Zwrócony arkusz jest przypisany do zmiennej o tej samej nazwie. Metoda getActiveSheet()
uzyskuje odwołanie do bieżącego obiektu arkusza i zapisuje go w zmiennej sheet
.
var sheet = SpreadsheetApp.getActiveSheet();
W obiekcie sheet
odwołujemy się do zakresu komórek (pojedynczej komórki) w notacji A1 za pomocą funkcji getRange()
. „Zakres” to grupa komórek, w tym jedna, na przykład komórka A1
(ta, w której wprowadzono adres). Aby pobrać element w obrębie zakresu, metoda getValue()
zwraca wartość lewej górnej komórki zakresu i przypisuje wartość do zmiennej address
. Możesz też dodać więcej adresów i odczytać dane z innych komórek.
var address = sheet.getRange('A1').getValue();
Trzeci wiersz kodu łączy się z usługą Map Google za pomocą obiektu Maps
. newStaticMap()
tworzy statyczny obiekt mapy, a metoda addMarker()
dodaje element „pin” za pomocą adresu z arkusza.
var map = Maps.newStaticMap().addMarker(address);
Na koniec usługa Gmail za pomocą obiektu MailApp
wywołuje metodę sendEmail()
, aby wysłać e-maila zawierającego tekst „Zobacz poniżej”. oraz obraz mapy w formie załącznika.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Uruchamianie aplikacji Arkusze Google, Mapy i Gmail
Po nazwaniu i zapisaniu funkcji należy ją uruchomić. U góry edytora wybierz sendMap()
z listy funkcji i kliknij Uruchom.
Docenianą przez programistów funkcja Apps Script jest fakt, że nie trzeba pisać kodu autoryzacji, który przyznaje programowi dostęp do danych użytkownika. Mimo że Apps Script zarządza tą funkcją, użytkownicy aplikacji nadal muszą zezwolić skryptowi na dostęp do swoich arkuszy kalkulacyjnych i wysyłanie e-maili przez Gmaila. Pierwsze okno autoryzacji wygląda tak:
Aby kontynuować, kliknij Sprawdź uprawnienia.
Pojawi się okno OAuth2 z prośbą o zgodę na dostęp do Twojego arkusza i wysyłanie e-maili w Twoim imieniu:
Gdy przyznasz uprawnienia, skrypt będzie działać w całości.
Sprawdź konto e-mail, na które została wysłana wiadomość – powinna być tam wiadomość z „Mapą”. w temacie i wiadomości, która wygląda tak:
Gdy otworzysz załącznik w e-mailu, powinna się wyświetlić mapa Google z pinezką na adresie wpisanym w arkuszu:
Wystarczy wpisać cztery wiersze kodu, by w znaczący sposób uzyskać dostęp do 3 różnych usług Google.
7. Dodatkowe materiały
Kod zaprezentowany w tym ćwiczeniu jest również dostępny w repozytorium GitHub na stronie github.com/googleworkspace/apps-script-intro-codelab. Poniżej znajdziesz więcej zasobów, które pomogą Ci pogłębić informacje przedstawione w tym ćwiczeniu z programowania i poznać inne sposoby korzystania z narzędzi Google dla programistów.
Dokumentacja
- Strona dokumentacji Google Apps Script
- Apps Script: usługa Gmail
- Apps Script: usługa arkuszy kalkulacyjnych
- Apps Script: usługa Mapy
Filmy
Wiadomości i aktualizacje
- Blog dla deweloperów Google Workspace
- Twitter: Google Workspace Developers (@workspacedevs)
Inne ćwiczenia z programowania
Wprowadzające
- [Arkusze Google] Podstawy Apps Script w Arkuszach Google
- [Interfejsy API typu REST] Korzystanie z Google Workspace Interfejsy API Google zapewniające dostęp do plików foldery na Dysku Google.
Średnio zaawansowany
- [Apps Script] Dodatki do Google Workspace do Gmaila
- [Apps Script] Niestandardowe boty w Hangouts Chat
- [API typu REST] Używanie Arkuszy Google jako narzędzia do raportowania dotyczącego aplikacji
- [Interfejsy API typu REST] Generowanie prezentacji Google za pomocą interfejsu BigQuery API