Kompletní průvodce GOOGLE APPS SCRIPTEM pro začátečníky i pokročilejší

Google Apps Script (GAS) je cloudová skriptovací platforma založená na JavaScriptu, která umožňuje automatizovat, rozšiřovat a přizpůsobovat aplikace Google Workspace. Tento mocný nástroj vám umožní vytvářet vlastní řešení přímo v prostředí Google bez nutnosti instalace softwaru na váš počítač.

GAS původně vznikl jako „makra“ pro Google Sheets, ale postupně se vyvinul v komplexní vývojovou platformu. Jeho největší výhodou je přímá integrace se všemi Google službami (Dokumenty, Tabulky, Gmail, Kalendář, Formuláře…) a možnost vytvářet automatizace, které výrazně zefektivní vaši práci.

Pro koho je tento průvodce

Tento průvodce je určen jak pro začátečníky bez programátorských znalostí, kteří chtějí automatizovat své pracovní postupy, tak pro pokročilejší uživatele, kteří hledají nejlepší postupy pro efektivní vývoj v GAS. Provedeme vás celým procesem od základního pochopení platformy až po pokročilé techniky a koncepty.

I. Základy Google Apps Script

Vytvoření prvního projektu

Existují dva základní způsoby, jak vytvořit nový projekt:

  1. Projekt vázaný na dokument (container-bound)
    • Otevřete Google dokument, tabulku nebo prezentaci
    • Klikněte na „Rozšíření > Apps Script“
    • V Google Formulářích klikněte na „Další > Editor skriptu“
  2. Samostatný projekt (standalone)
    • Navštivte stránku script.google.com a klikněte na „Nový projekt“
    • Alternativně v Google Disku klikněte na „Nový > Další > Google Apps Script“

Samostatný skript je výhodný, pokud chcete pracovat s více dokumenty najednou – když potřebujete jeden skript pro práci s několika tabulkami, dokumenty nebo formuláři, Vytváříte webovou aplikaci – pokud vyvíjíte aplikaci, která bude přístupná přes URL, potřebujete centrální správu, třeba když chcete mít jeden centrální skript, který budete aktualizovat a změny se projeví všude, děláte obecnou službu nebo nástroj – vyvíjíte funkcionalitu, která není úzce svázána s konkrétním dokumentem a nakonec jestliže chcete sdílet kód mezi projekty (když potřebujete stejný kód použít ve více projektech).

Nejčistější a nejudržitelnější metodou sdílení samostatného kódu je vytvoření knihovny. Tento přístup umožňuje centralizovat kód a používat ho napříč mnoha projekty:

  1. V samostatném skriptu klikněte na „Projekt > Nastavení“ a zkopírujte ID skriptu
  2. Přejděte na „Publikovat > Nasadit jako knihovnu“
  3. V cílovém dokumentovém skriptu přidejte knihovnu přes sekci „Knihovny“

Hlavní výhodou knihoven je centrální správa kódu – když změníte kód v knihovně a publikujete novou verzi, můžete tuto aktualizaci zpřístupnit všem projektům, které ji využívají. Kromě toho knihovny podporují verzování, což umožňuje kontrolovat, kdy a jak se aktualizace propagují do závislých projektů.

Samostatné skripty lze nasadit jako webové aplikace s vlastním URL, což vytváří komunikační bod pro dokumentové skripty:

  1. Implementujte funkce doGet() nebo doPost() v samostatném skriptu
  2. Nasaďte skript jako webovou aplikaci s příslušnými nastaveními přístupu
  3. Z dokumentových skriptů volejte webovou aplikaci pomocí UrlFetchApp

Tento přístup je výhodný, když potřebujete centralizovanou službu s jednotným přístupovým bodem, ke které mohou přistupovat různé skripty nebo dokonce externí systémy.

Nejpřímočařejším způsobem propojení je přímý přístup k dokumentům pomocí jejich ID. Tento přístup je vhodný, když potřebujete z jednoho centrálního skriptu pracovat s mnoha různými dokumenty. Jediným požadavkem je, aby uživatel spouštějící skript měl přístupová práva ke všem odkazovaným dokumentům.

Váš první skript

Pojďme vytvořit jednoduchý „Hello World“ skript:

Po napsání funkce klikněte na tlačítko Spustit (ikona přehrávání). Při prvním spuštění budete vyzváni k udělení oprávnění. Poté se zobrazí dialogové okno s textem „Hello World!“.

Autorizace a oprávnění

Při prvním spuštění skriptu vás Google provede procesem autorizace. Toto je důležitý bezpečnostní prvek, protože skripty mohou přistupovat k vašim datům. U vlastních skriptů se zobrazí varování o „neověřené aplikaci“, což je normální – jednoduše pokračujte procesem.

Oprávnění fungují tak, že:

  • Spouštíte-li skript manuálně (kliknutím na tlačítko nebo položku menu), poběží pod vaším účtem
  • U automaticky spouštěných skriptů je situace složitější a závisí na typu triggeru (spouštěče)

II. Analýza a definice účelu skriptu

Než začnete psát kód, je klíčové jasně definovat, co má váš skript dělat. Čím konkrétnější budete, tím snazší bude implementace.

Definice problému a cíle

Místo obecného „chci automatizovat tabulku“ si stanovte konkrétní cíl, například:

  • „Potřebuji každý pondělí v 8:00 poslat e-mailem souhrnná data z tabulky všem manažerům“
  • „Když přijde nová odpověď z formuláře, chci automaticky vygenerovat personalizovaný dokument“
  • „Potřebuji každý den kontrolovat sloupec s datem splatnosti faktur a posílat upomínky“

Případ použití: Uvažujte v krocích

Pro efektivní návrh skriptu si rozdělte problém na jednotlivé kroky:

  1. Identifikujte zdroj dat – odkud skript bere informace?
  2. Definujte proces – jakou transformaci nebo akci skript provádí?
  3. Určete výstup – jaký je očekávaný výsledek (e-mail, nový dokument, aktualizace dat)?
  4. Stanovte podmínky spuštění – co a kdy skript aktivuje?

III. Přesný popis vstupních dat a struktury zdrojových souborů

Pro správné fungování skriptu musíte přesně znát strukturu dat, se kterými budete pracovat.

Struktura dat

Popište si detailně, jak vypadá váš zdroj dat:

  • U tabulky: které listy, sloupce a řádky obsahují potřebná data
  • U formuláře: názvy polí a typy odpovědí
  • U dokumentů: strukturu obsahu a případně formátování

Příklad: „Data jsou v Google tabulce ‚Prodeje 2023‘, list ‚Únor‘. Sloupec A obsahuje datum objednávky, sloupec B jméno zákazníka, sloupec C e-mail a sloupec D částku. První řádek obsahuje záhlaví, data začínají od druhého řádku.“

Formát dat

Ujasněte si, jaký formát mají vaše data:

  • Datumy (DD/MM/YYYY nebo MM/DD/YYYY?)
  • Čísla (s desetinnou čárkou nebo tečkou?)
  • Text (včetně specifických formátů jako jsou e-maily, telefonní čísla)

IV. Spouštěče (Triggers) v Google Apps Script

Spouštěče (triggery) určují, kdy se má skript spustit. Je to klíčový prvek automatizace, protože definuje, kdy váš digitální asistent začne pracovat.

Typy spouštěčů

V GAS existují dva hlavní typy spouštěčů:

1. Jednoduché spouštěče (Simple Triggers)

Jsou definovány přímo v kódu použitím specifického názvu funkce:

  • onOpen(e) – spouští se při otevření dokumentu
  • onEdit(e) – spouští se při změně hodnoty v buňce tabulky
  • onSelectionChange(e) – spouští se při změně výběru v tabulce
  • doGet(e) / doPost(e) – spouští se při HTTP požadavku na webovou aplikaci

Omezení jednoduchých spouštěčů:

  • Musí být vázány na Google dokument
  • Nespouštějí se v režimu pouze pro čtení
  • Nemohou používat služby vyžadující autorizaci (např. Gmail)
  • Běží maximálně 30 sekund

2. Instalovatelné spouštěče (Installable Triggers)

Nabízejí větší flexibilitu, ale vyžadují explicitní instalaci:

  • Časové – spouštění v určitý čas nebo v pravidelných intervalech
  • Události – reagují na konkrétní události (otevření, úprava, změna, odeslání formuláře)

Výhody instalovatelných spouštěčů:

  • Přístup k rozšířeným službám vyžadujícím autorizaci
  • Možnost přistupovat k externím souborům
  • Delší doba běhu
  • Spouštění i bez přítomnosti uživatele

Nastavení spouštěče

Instalovatelné spouštěče lze vytvořit:

  1. Ručně – přes rozhraní „Edit > Current project’s triggers“
  2. Programově – pomocí ScriptApp API:

Rozdíl mezi onEdit a onChange triggery

  • onEdit reaguje pouze na přímou změnu hodnoty buňky uživatelem
  • onChange zachytí jakoukoliv změnu v dokumentu, včetně změn struktury, komentářů nebo importovaných dat

V. Popis požadovaného výstupu

Jasná definice očekávaného výstupu je klíčová pro úspěšnou implementaci skriptu.

Typy výstupů

Skript může produkovat různé typy výstupů:

  1. Úprava dat – změna hodnot v tabulce, formátování, filtrování
  2. Vytvoření nového obsahu – generování dokumentů, prezentací, tabulek
  3. Komunikace – odesílání e-mailů, vytváření kalendářních událostí, notifikace
  4. Vizualizace – grafy, reporty, dashboardy
  5. Integrace – export/import dat do/z externích systémů

Specifikace výstupu

Definujte přesně, jak má výstup vypadat:

  • Formát (struktura dokumentu, vzhled e-mailu)
  • Obsah (jaká data, v jakém pořadí, s jakým formátováním)
  • Příjemci (kdo dostane výsledky)
  • Četnost (jak často se má výstup generovat)

VI. Práce s citlivými daty a správa API klíčů

Pokud váš skript pracuje s API klíči, hesly nebo jinými citlivými údaji, nikdy je nevkládejte přímo do kódu.

Properties Service

Google Apps Script nabízí Properties Service, který funguje jako bezpečný trezor pro ukládání nastavení a citlivých dat. K dispozici jsou tři typy úložišť:

  1. Script Properties – sdílené všemi uživateli skriptu
  2. User Properties – specifické pro každého uživatele
  3. Document Properties – vázané na konkrétní dokument

Příklad použití:

Bezpečnostní doporučení

  • Omezte přístup ke skriptu jen na nezbytné uživatele
  • Vyžadujte pouze nezbytná oprávnění
  • Pravidelně kontrolujte a aktualizujte přístupová práva
  • Používejte OAuth 2.0 pro autentizaci s externími službami

VII. Logování a debugging

Při vývoji skriptů se nevyhnete ladění a hledání chyb. GAS nabízí několik nástrojů, které vám pomohou.

Logger

Nejjednodušší způsob sledování průběhu skriptu je pomocí vestavěné služby Logger:

Pro zobrazení logů klikněte na „View > Logs“ nebo „Execution transcript“.

Try-Catch bloky

Pro robustní zpracování chyb používejte try-catch bloky:

Auditní záznamy

Pro dlouhodobé sledování je užitečné ukládat záznamy o provedených operacích:

VIII. Optimalizace výkonu skriptu

Google Apps Script má určitá omezení a kvóty, proto je důležité psát efektivní kód.

Minimalizace volání služeb

Každé volání služby Google (např. SpreadsheetApp, DocumentApp) je relativně pomalé. Minimalizujte počet těchto volání:

Dávkové zpracování

Místo zpracování každého prvku zvlášť, používejte dávkové operace:

Cache Service

Pro ukládání často používaných dat a snížení počtu volání API využijte Cache Service:

IX. Struktura a čitelnost kódu

Dobrá struktura kódu je základem pro snadnou údržbu a rozšiřitelnost skriptů.

Konvence pojmenování

  • Používejte jasná a popisná jména pro funkce a proměnné
  • Pro funkce používejte slovesa (např. posliEmailManagerum())
  • Pro proměnné popisné názvy (datumSplatnosti místo ds)
  • Buďte konzistentní ve stylu (camelCase nebo snake_case)

Modularizace kódu

Rozdělte složitější skripty do menších funkcí, kde každá má jasně definovaný účel:

Komentáře a dokumentace

Dokumentujte svůj kód pomocí komentářů, zejména u složitějších částí:

X. Praktický příklad – Kompletní řešení

Pojďme spojit předchozí koncepty do kompletního řešení. Vytvoříme skript, který:

  1. Každý den kontroluje tabulku projektů
  2. Identifikuje projekty s blížícím se termínem (méně než 7 dní)
  3. Posílá e-mailové upozornění odpovědným osobám

XI. Pokročilé koncepty

Verzování a správa změn

Pro sledování změn ve vašem kódu:

  • Využívejte vestavěné verzování v editoru Apps Script
  • Pro větší projekty zvažte export do systému Git
  • Dokumentujte změny pomocí komentářů a popisu verzí

Testování skriptů

Než nasadíte skript do ostrého provozu:

  • Vytvořte testovací kopii vašich dat
  • Implementujte unit testy pro klíčové funkce
  • Postupně testujte individuální komponenty
  • Proveďte end-to-end test celého procesu

Uživatelské rozhraní

Pro vylepšení interakce s uživateli můžete vytvořit:

  • Vlastní menu v dokumentech a tabulkách
  • Dialogová okna a postranní panely
  • Formuláře pro zadávání parametrů
  • Webové aplikace s plnohodnotným UI

Integrace s externími službami

GAS umožňuje:

  • Komunikaci s API třetích stran pomocí UrlFetchApp
  • Import/export dat z/do externích systémů
  • Integraci s dalšími Google službami (např. YouTube, Maps)
  • Vytváření vlastních API pomocí webových aplikací

XII. Nejčastější chyby a jejich řešení

Překročení časového limitu

Pokud váš skript běží déle než je povolený limit:

  • Rozdělte úlohu na menší části
  • Používejte více spouštěčů místo jednoho dlouhého procesu
  • Implementujte pokračovací tokeny pro zpracování po částech

Rate Limity a Quotas

Pro překonání limitů služeb:

  • Implementujte exponenciální čekání mezi pokusy (backoff)
  • Používejte dávkové zpracování místo individuálních operací
  • Monitorujte využití kvót a přizpůsobte strategie

Problémy s oprávněními

Když se skript nemůže dostat k potřebným zdrojům:

  • Zkontrolujte, zda má uživatel potřebná oprávnění
  • Ujistěte se, že skript je autorizován pro všechny používané služby
  • U instalovatelných spouštěčů ověřte, že jsou nastaveny s odpovídajícími oprávněními

XIII. Shrnutí a další kroky

Kdy používat Google Apps Script

GAS je ideální pro:

  • Automatizaci opakujících se úkolů v Google Workspace
  • Vytváření vlastních funkcí pro Tabulky
  • Propojení různých Google služeb
  • Jednoduché webové aplikace integrované s Google službami

Kde hledat další informace

Pro rozšíření znalostí:

  • Oficiální dokumentace Google Apps Script
  • Komunita StackOverflow s tagem [google-apps-script]
  • Google Developers YouTube kanál
  • Blogy a tutoriály zaměřené na GAS

Příklady projektů pro inspiraci

  • Automatické generování reportů z dat v tabulkách
  • Systém pro schvalování dokumentů s notifikacemi
  • Vlastní formuláře s pokročilou validací a logikou
  • Dashboard pro monitorování a vizualizaci dat

Google Apps Script je mocný nástroj, který kombinuje jednoduchost s rozsáhlými možnostmi. Ať už jste začátečník, který chce zautomatizovat rutinní úkoly, nebo zkušený vývojář hledající způsob, jak efektivně rozšířit možnosti Google Workspace, tento průvodce vám poskytne pevný základ pro úspěšné psaní skriptů.

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít nahoru
Tvorba webových stránek: Webklient