Ćwiczenie praktyczne z językiem Google Apps Script: dostęp do Arkuszy, Map i Gmaila w 4 wierszach kodu

1. Wprowadzenie do Google Apps Script

W tym ćwiczeniu z programowania pokażemy Ci jeden z najprostszych sposobów pisania kodu, który uzyskuje dostęp do technologii Google dla deweloperów. Wszystko to odbywa się za pomocą JavaScriptu, czyli popularnego języka programowania stron internetowych. Za pomocą Google Apps Script napiszesz kod, który wyodrębni adres z komórki w Arkuszach Google, wygeneruje na jego podstawie mapę Google, a następnie wyśle ją jako załącznik w Gmailu. A najlepsze jest to, To tylko 4 wiersze 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 w edytorze Apps Script w przeglądarce.

Czego potrzebujesz

  • przeglądarki internetowej z dostępem do internetu,
  • konto Google (w przypadku kont Google Workspace może być wymagana zgoda administratora);
  • Podstawowa znajomość Arkuszy Google.
  • Możliwość odczytywania notacji A1 w Arkuszach

2. Ankieta

Jak zamierzasz wykorzystać ten codelab lub samouczek?

Tylko przeczytaj Przeczytaj i wykonaj ćwiczenia

Jak oceniasz narzędzia dla deweloperów i interfejsy API Google Workspace?

Początkujący Średnio zaawansowany Zaawansowany

3. Przegląd

Wiesz już, czego dotyczy to ćwiczenie. Co dokładnie zamierzasz zrobić?

  1. Dowiedz się więcej o Apps Script, który jest oparty na JavaScript.
  2. Utwórz arkusz kalkulacyjny w Arkuszach Google.
  3. Wpisz adres w lewej górnej komórce arkusza kalkulacyjnego (A1).
  4. Dowiedz się, jak otworzyć edytor skryptów Apps Script w dowolnym dokumencie.
  5. Edytuj, zapisuj i uruchamiaj kod Apps Script.
  6. Użyj Gmaila, aby wyświetlić wynik.

Zaczynajmy!

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 zintegrowanych z Google Workspace. Apps Script umożliwia:

  • Pisać kod w JavaScript i korzystać z wbudowanych bibliotek aplikacji Google Workspace, takich jak Gmail, Kalendarz czy Dysk.
  • nie musisz niczego instalować – udostępniamy edytor kodu bezpośrednio w przeglądarce, a skrypty są uruchamiane na serwerach Google;
  • Nie musisz się martwić złożonymi tematami, takimi jak bezpieczeństwo i uprawnienia dostępu do danych, ponieważ platforma zajmuje się tym za Ciebie.

Apps Script można używać do tworzenia różnych aplikacji, od botów do czatu po aplikacje internetowe. Jednym z najpopularniejszych zastosowań jest rozszerzanie funkcjonalności arkusza kalkulacyjnego Arkuszy Google. W dalszej części tego modułu dowiesz się, jak używać Apps Script do pobierania danych z arkusza kalkulacyjnego i łączenia ich z innymi usługami Google.

4. Utwórz arkusz Google i wpisz ulicę i numer

W nowym arkuszu Google wpisz prawidłowy adres, wykonując te czynności:

  1. Utwórz arkusz Google, korzystając z tego linku (sheets.google.com/create). Możesz też otworzyć Dysk Google (drive.google.com) i kliknąć Nowy > Arkusze Google > Pusty arkusz kalkulacyjny.

413a93e5b2f6b3d4.png

  1. W pustym arkuszu kalkulacyjnym przejdź do pierwszej komórki w lewym górnym rogu (A1). Będzie się znajdować w kolumnie A i wierszu 1. Jeśli chcesz sobie przypomnieć, jak to zrobić, zapoznaj się z tym opisem notacji A1.
  2. Wpisz w komórce prawidłowy adres. Wybierz adres na świecie z dokładną lokalizacją, używając adresu ulicy, kodu pocztowego lub kombinacji miasta i stanu/prowincji. Oto przykład adresu w Nowym Jorku:

7077e446455639df.png

To wszystko, co musisz zrobić w arkuszu. Otwórzmy edytor i napiszmy trochę kodu.

5. Edytowanie kodu Apps Script

Po utworzeniu nowego arkusza Google możesz edytować powiązany z nim skrypt. Aby to zrobić:

Otwieranie edytora skryptów

Na pasku menu wybierz Rozszerzenia > Apps Script, aby otworzyć edytor kodu Apps Script w przeglądarce.

W nowej karcie przeglądarki edytor kodu wyświetli domyślny skrypt powiązany z kontenerem arkusza. Automatycznie tworzona jest funkcja domyślna o nazwie myFunction(), a kursor jest umieszczany w jej wnętrzu, aby można było od razu zacząć pracę.

Wysyłanie mapy Google z adresem e-mailem

Kod „szablonu”, który otrzymujesz, jest pusty, więc zastąpmy go naszą aplikacją.

  1. 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]});
}
  1. Zastąp adres e-mail symbolu zastępczego ('YOUR_EMAIL_ADDR') prawidłowym adresem. Na przykład friend@example.com.
  2. Aby zapisać skrypt, kliknij Zapisz zapisz.
  3. Aby zmienić nazwę projektu Apps Script, kliknij Projekt bez tytułu, wpisz tytuł projektu i kliknij Zmień nazwę.

Weryfikacja kodu

Przyjrzyjmy się 4 wierszom funkcji sendMap(), które składają się na całą aplikację. Co ciekawe, kod odwołuje się do 3 różnych usług Google.

Pierwszy wiersz to komentarz do adnotacji, który wpływa na autoryzację:

/** @OnlyCurrentDoc */

Większość skryptów prosi użytkownika o przyznanie uprawnień przed uruchomieniem. Te uprawnienia określają, na co użytkownik zezwala skryptowi. Pierwszy wiersz to komentarz zawierający opcjonalną adnotację, która nakazuje Apps Script ograniczenie dostępu do bieżącego arkusza kalkulacyjnego (w przeciwieństwie do wszystkich arkuszy kalkulacyjnych użytkownika). Jeśli pracujesz tylko z jednym plikiem, zawsze warto dodać tę adnotację.

Kod używa zwykłej deklaracji funkcji JavaScript dla sendMap():

function sendMap() {

W następnej linii wywoływana jest usługa Arkuszy kalkulacyjnych, która jest dostępna w Apps Script za pomocą obiektu SpreadsheetApp. Zwrócony arkusz jest przypisywany do zmiennej o tej samej nazwie. Metoda getActiveSheet() pobiera odwołanie do bieżącego obiektu arkusza i zapisuje je w zmiennej sheet.

  var sheet = SpreadsheetApp.getActiveSheet();

Za pomocą obiektu sheet odwołujemy się do zakresu komórek (pojedynczej komórki) w notacji A1 za pomocą getRange(). „Zakres” to grupa komórek, w tym pojedyncza komórka, np. A1 (ta, w której wpisaliśmy adres). Aby pobrać to, co znajduje się wewnątrz zakresu, metoda getValue() zwraca wartość lewej górnej komórki w zakresie i przypisuje ją do zmiennej address. Możesz też spróbować dodać więcej adresów i odczytać dane z innych komórek.

  var address = sheet.getRange('A1').getValue();

Trzecia linia kodu łączy się z usługą Map Google za pomocą obiektu Maps. newStaticMap() tworzy statyczny obiekt mapy, a metoda addMarker() dodaje do mapy „pinezkę” przy użyciu adresu z arkusza.

  var map = Maps.newStaticMap().addMarker(address);

Na koniec usługa Gmail za pomocą MailAppobiektu wywołuje metodę sendEmail(), aby wysłać e-maila zawierającego tekst „See below” (Patrz poniżej) i obraz mapy jako załącznik.

  GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}

6. Uruchom aplikacje Arkusze Google, Mapy i Gmail

Po nadaniu nazwy i zapisaniu funkcji możesz ją uruchomić. U góry edytora upewnij się, że na liście funkcji wybrano sendMap(), a następnie kliknij Uruchom.

Funkcja Apps Script, którą doceniają programiści, to brak konieczności pisania kodu autoryzacji, który przyznaje programowi dostęp do danych użytkownika. Chociaż Apps Script zarządza tym procesem, użytkownicy aplikacji nadal muszą przyznać skryptowi uprawnienia dostępu do arkuszy kalkulacyjnych i wysyłania e-maili przez Gmaila. Pierwsze okno autoryzacji wygląda tak:

ba6e1a798e404e0d.png

Aby kontynuować, kliknij Przejrzyj uprawnienia.

Następnie pojawi się okno dialogowe OAuth2 z prośbą o uprawnienia do dostępu do arkusza i wysyłania e-maili w Twoim imieniu:

9bed7ef1ccbd7569.png

Po przyznaniu uprawnień skrypt zostanie uruchomiony i wykonany do końca.

Sprawdź konto e-mail, z którego wysłano wiadomość. Powinien się tam znajdować e-mail z tematem „Mapa” i wiadomością podobną do tej:

51f61fc51a13d28f.png

Gdy otworzysz załącznik w wiadomości e-mail, powinna się wyświetlić mapa Google z pinezką w miejscu adresu wpisanego w arkuszu:

739bb45b75e3f7c7.png

Za pomocą zaledwie 4 wierszy kodu uzyskujesz dostęp do 3 różnych usług Google w istotny sposób.

7. Dodatkowe materiały

Kod zaprezentowany w tym module jest również dostępny w repozytorium GitHub: github.com/googleworkspace/apps-script-intro-codelab. Poniżej znajdziesz dodatkowe zasoby, które pomogą Ci pogłębić informacje przedstawione w tym module i poznać inne sposoby korzystania z narzędzi Google dla programistów.

Dokumentacja

Filmy

Wiadomości i aktualności

Inne ćwiczenia z programowania

Początkowy

Średnio zaawansowany

Aplikacje referencyjne