Jak připojit Google Sheets k vaší aplikaci
Abyste připojili Google Sheets k aplikaci, zapněte v projektu Google Cloud Google Sheets API, vytvořte služební účet, nasdílejte tabulku na e-mailovou adresu služebního účtu a jeho klíč uložte jako tajný údaj na serveru. Server pak čte řádky přes spreadsheets.values.get a přidává je přes spreadsheets.values.append. Pokud se k tabulkám mají připojovat vlastní účty uživatelů, použijte OAuth. Pokud je tabulka zcela veřejná, na čtení stačí jednoduchý API klíč.
Tento průvodce popisuje, která metoda se hodí, potřebná volání, kvóty a úskalí a zadání pro nástroj na tvorbu aplikací s AI. Údaje o Google vycházejí z Google developer dokumentace k září 2026.
Proč tabulku vůbec připojovat
Běžné důvody:
- Zachování pracovního postupu týmu. Zaměstnanci dál upravují ceník nebo rozpis v Sheets a aplikace je zobrazí.
- Sběr dat tam, kde se lidé už dívají. Nové registrace, objednávky nebo odpovědi z formulářů přistávají jako řádky.
- Reporting. Exportujte data z aplikace do tabulky pro lidi, kteří žijí v tabulkách.
- Odrazový můstek. Začněte z tabulky a pak přejděte na pořádnou databázi. Viz jak proměnit tabulku v aplikaci.
Vyberte, jak se aplikace přihlašuje ke Google
Průvodce přihlašovacími údaji od Google popisuje tři typy:
| Přihlašovací údaj | K čemu má přístup | Nejvhodnější pro |
|---|---|---|
| API klíč | Jen veřejně dostupná data, například soubory sdílené s „každým, kdo má odkaz“ | Čtení veřejné tabulky |
| Služební účet | Data, která vlastní vaše aplikace, nebo konkrétní soubory nasdílené na e-mail služebního účtu | Aplikace, která čte a zapisuje vaše tabulky |
| OAuth client ID | Vlastní soubory uživatele po jeho souhlasu | Umožnit každému uživateli připojit jeho tabulky |
Pro většinu aplikací je správná volba služební účet: jedna sada přihlašovacích údajů ve vašem vlastnictví s přístupem jen k tabulkám, které do něj výslovně nasdílíte.
Postup se služebním účtem
- Vytvořte nebo vyberte projekt Google Cloud a zapněte Google Sheets API.
- Vytvořte služební účet a jeho klíč. Klíč je soubor JSON; zacházejte s ním jako s heslem.
- Nasdílejte tabulku na e-mailovou adresu služebního účtu jako Viewer pro čtení, nebo Editor pro zápis. Google v příručce uvádí, že se to dělá na běžné obrazovce sdílení.
- Uložte klíč jako tajný údaj na serveru, například
GOOGLE_SERVICE_ACCOUNT_JSON, a ID tabulky (dlouhý řetězec v adrese tabulky) jakoSHEET_ID. - Volejte API ze serveru knihovnou Google pro váš jazyk.
- Cachujte čtení, pokud stejná data vidí mnoho návštěvníků, abyste nenarazili na kvótu.
Volání, která budete používat
Z průvodce Google pro čtení a zápis hodnot:
| Metoda | Co dělá |
|---|---|
spreadsheets.values.get | Přečte jeden rozsah, například Leads!A1:E |
spreadsheets.values.batchGet | Přečte několik rozsahů v jednom požadavku |
spreadsheets.values.update | Zapíše do konkrétního rozsahu |
spreadsheets.values.append | Přidá řádky za stávající data v tabulce |
Rozsahy používají zápis A1. Google upozorňuje, že rozsah bez názvu listu, například A1:B2, se vztahuje k prvnímu listu, takže název záložky uvádějte explicitně, aby vás nepřekvapilo přeskládání záložek.
RAW vs. USER_ENTERED
Zápisy vyžadují valueInputOption:
- RAW uloží přesně to, co pošlete, jako text.
=1+2se uloží jako text=1+2. - USER_ENTERED zachází se vstupem, jako by byl napsaný přímo v Sheets: data se stanou daty a
=1+2se stane vzorcem.
Pokud zapisujete text, který uživatelé napsali do vaší aplikace, použijte RAW. S USER_ENTERED by někdo mohl odeslat vzorec, který se spustí, když jej kolega otevře v tabulce.
Kvóty a chyby
Podle stránky s limity Google Sheets API ke stavu k září 2026 platí:
| Limit | Čtecí požadavky | Zápisové požadavky |
|---|---|---|
| Za minutu na projekt | 300 | 300 |
| Za minutu na uživatele a projekt | 60 | 60 |
Denní limit neexistuje, dokud zůstáváte v minutových kvótách. Překročení vrátí 429: Too many requests. Google doporučuje zkrácený exponenciální backoff: po každém neúspěšném pokusu čekat déle, s náhodným zpožděním, až do maxima. Jediný požadavek, který trvá déle než 180 sekund, vyprší.
V praxi: nevolejte API při každém zobrazení stránky. Cachujte data tabulky alespoň minutu, čtení slučujte přes batchGet a zápisy dávkujte, kde to jde.
Možnosti a kompromisy
| Přístup | Výhody | Nevýhody |
|---|---|---|
| Tabulka jako živý zdroj dat | Zaměstnanci upravují v známém nástroji; nemusíte stavět administrační obrazovky | Kvóty, žádná oprávnění na úrovni řádků, snadno se rozbije přejmenováním sloupce |
| Synchronizace tabulky do databáze | Rychlé a spolehlivé čtení; aplikace funguje, i když Sheets nejsou dostupné | Potřebujete synchronizační úlohu a pravidlo, která strana vyhrává |
| Databáze jako první, export do tabulky | Aplikace vlastní data; tabulka je report | Úpravy v tabulce se zpět nepropisují |
| Automatizační nástroj mezi tím | Jednoduché toky bez kódu | Další předplatné; hůř se ladí |
Pro cokoli s mnoha uživateli nebo citlivými daty je databáze lepší zdroj pravdy. Viz co je databáze.
Zadání pro váš nástroj na tvorbu aplikací s AI
Čtení tabulky:
Na stránce s jídelním lístkem zobrazte záložku „Menu“ z naší Google tabulky. Použijte Google Sheets API ze serveru se službovým účtem, jehož JSON klíč je v tajném údaji GOOGLE_SERVICE_ACCOUNT_JSON, a ID tabulky v SHEET_ID. Čtěte rozsah Menu!A2:D (název, popis, cena, kategorie). Výsledek cachujte 5 minut. Pokud API selže, zobrazte poslední uloženou verzi. Klíč nikdy neposílejte do prohlížeče.
Zápis řádků:
Když někdo odešle kontaktní formulář, uložte ho do naší databáze a zároveň přidejte řádek do záložky „Leads“ (datum, jméno, e-mail, zpráva) přes spreadsheets.values.append s valueInputOption RAW. Pokud Google vrátí 429, opakujte s exponenciálním backoffem; pokud to stále selže, nechte lead v databázi a zkuste to později znovu.
Časté chyby
- Zapomenout nasdílet tabulku na e-mail služebního účtu. API pak vrátí chybu oprávnění, i když je klíč v pořádku.
- Klíč ve frontendu nebo v repozitáři. Klíč JSON dává přístup ke každé tabulce, která je s ním nasdílená. Viz jak chránit API klíče.
- Používat USER_ENTERED pro vstup uživatelů, což umožňuje vkládání vzorců.
- Volat API při každém požadavku a narazit na minutovou kvótu při první návštěvnické špičce.
- Spoléhat na pozice sloupců. Někdo vloží sloupec a aplikace čte špatná data. Čtěte řádek záhlaví a mapujte podle názvu, nebo záhlaví uzamkněte.
- Sdílet tabulku širše, než je potřeba. „Kdokoli s odkazem“ ji zveřejní.
- Používat tabulku jako databázi pro více uživatelů. Současné zápisy a chybějící oprávnění způsobují ztrátu nebo únik dat.
Kontrolní seznam
- Sheets API zapnuto; služební účet vytvořen
- Tabulka nasdílená na e-mail služebního účtu s nejnižší potřebnou rolí
- Klíč a ID tabulky uložené jako tajné údaje na serveru
- Všechna volání jdou ze serveru
- Názvy záložek použité v rozsazích
- RAW pro text zadaný uživateli
- Čtení cachována; 429 řešeno backoffem
- Aplikace se elegantně zhorší, když Sheets nejsou dostupné
- Rozhodnuto, která strana je zdroj pravdy
Google Sheets v Mythexu
Mythex má dva různé způsoby práce s tabulkami. Konektory propojí váš účet Google s Mythexem, aby ho agent mohl použít při stavbě, například k načtení tabulky a sestavení dashboardu. Dokumentace uvádí, že přihlašovací údaje zůstávají u připojovací služby Mythexu a nikdy se nedostanou do vašeho kódu (viz Konektory; každé oprávnění, které Google požaduje, schvalte). Aby publikovaná aplikace mohla tabulku číst nebo do ní zapisovat sama, je spolehlivá cesta z tohoto průvodce: klíč služebního účtu uložený jako tajný údaj projektu a volání Sheets API ze serveru, jak je popsáno v Integrate any API. Pokud tabulka přestává stačit, požádejte agenta, aby přesunul data do databáze projektu, a postavil nad nimi dashboard.
Otázky
Jak může moje aplikace číst soukromou Google tabulku?
Obvykle přes služební účet v Google Cloud: zapnete Sheets API, vytvoříte služební účet a jeho klíč a tabulku nasdílíte na e-mailovou adresu služebního účtu jako Viewer nebo Editor. Váš server pak s klíčem uloženým jako tajný údaj volá Sheets API.
Můžu k přístupu k tabulce použít Google API klíč?
Jen pro veřejná data. Průvodce přihlašovacími údaji od Google uvádí, že API klíče slouží k anonymnímu přístupu k veřejně dostupným datům, například k souborům sdíleným komukoli, kdo má odkaz. Soukromé tabulky vyžadují služební účet nebo OAuth.
Jaké jsou limity Google Sheets API?
Podle stavu k září 2026 Google uvádí 300 čtecích a 300 zápisových požadavků za minutu na projekt a 60 čtecích a 60 zápisových za minutu na uživatele a projekt, bez denního limitu. Překročení vrátí chybu 429; Google doporučuje zkrácený exponenciální backoff.
Měl bych jako databázi aplikace používat Google Sheets?
Funguje to pro malé aplikace s nízkou návštěvností, kde data v tabulce upravují i lidé. Pro mnoho uživatelů, časté zápisy, vztahy mezi záznamy nebo oprávnění pro jednotlivé uživatele je spolehlivější skutečná databáze. Data pak můžete stále exportovat do tabulky.