Kako povezati Google Sheets s aplikacijom
Za povezivanje Google Sheets s aplikacijom uključite Google Sheets API u Google Cloud projektu, napravite servisni račun, podijelite tablicu s e-mail adresom servisnog računa i spremite njegov ključ kao tajnu vrijednost na poslužitelju. Vaš poslužitelj zatim čita retke pomoću spreadsheets.values.get, a dodaje ih pomoću spreadsheets.values.append. Ako korisnici trebaju povezati vlastite tablice, koristite OAuth; a ako je tablica potpuno javna, za čitanje je dovoljan jednostavan API ključ.
Ovaj vodič pokriva koja metoda odgovara, potrebne pozive, kvote i zamke te upite za alat za izradu aplikacija uz AI. Podaci o Googleu su iz Googleove developer dokumentacije od rujna 2026.
Zašto uopće povezivati tablicu
Uobičajeni razlozi:
- Zadržavanje radnog tijeka tima. Zaposlenici i dalje uređuju cjenik ili raspored u Sheetsu; aplikacija ga prikazuje.
- Prikupljanje podataka tamo gdje ljudi već gledaju. Nove registracije, narudžbe ili odgovori obrazaca dolaze kao reci.
- Izvještavanje. Izvoz podataka iz aplikacije u tablicu za ljude koji rade u tablicama.
- Polazna točka. Počnite s tablicom, zatim prijeđite na pravu bazu podataka. Pogledajte kako pretvoriti tablicu u aplikaciju.
Odaberite kako se vaša aplikacija prijavljuje kod Googlea
Googleov vodič za vjerodajnice opisuje tri vrste:
| Vjerodajnica | Na što može pristupiti | Najbolje za |
|---|---|---|
| API ključ | Samo javno dostupne podatke, poput datoteka dijeljenih s „Anyone with the link” | Čitanje javne tablice |
| Servisni račun | Podatke u vlasništvu vaše aplikacije ili određene datoteke dijeljene s e-mail adresom servisnog računa | Aplikacija koja čita i piše vaše tablice |
| OAuth client ID | Vlastite datoteke korisnika, nakon njegova pristanka | Omogućavanje svakom korisniku da poveže svoje tablice |
Za većinu aplikacija servisni račun je pravi izbor: jedan skup vjerodajnica, u vašem vlasništvu, s pristupom samo tablicama koje izričito podijelite s njim.
Korak po korak sa servisnim računom
- Napravite ili odaberite Google Cloud projekt i uključite Google Sheets API.
- Napravite servisni račun i njegov ključ. Ključ je JSON datoteka; čuvajte ga kao lozinku.
- Podijelite tablicu s e-mail adresom servisnog računa, kao Viewer za samo čitanje ili Editor za pisanje. Googleov vodič kaže da se to radi preko uobičajenog zaslona za dijeljenje.
- Spremite ključ kao tajnu vrijednost na poslužitelju, na primjer
GOOGLE_SERVICE_ACCOUNT_JSON, te ID tablice (dugi niz u URL-u tablice) kaoSHEET_ID. - Pozivajte API s poslužitelja pomoću Googleove klijentske biblioteke za vaš jezik.
- Predmemorirajte čitanja ako isti podaci vide mnogi posjetitelji, kako ne biste dosegnuli kvotu.
Pozivi koje ćete koristiti
Iz Googleova vodiča za čitanje i pisanje vrijednosti:
| Metoda | Što radi |
|---|---|
spreadsheets.values.get | Čita jedan raspon, poput Leads!A1:E |
spreadsheets.values.batchGet | Čita više raspona u jednom zahtjevu |
spreadsheets.values.update | Piše u određeni raspon |
spreadsheets.values.append | Dodaje retke nakon postojećih podataka u tablici |
Raspon koristi A1 notaciju. Google napominje da raspon bez naziva lista, poput A1:B2, vrijedi za prvi list, pa eksplicitno imenujte karticu kako biste izbjegli iznenađenja kada netko preslaže kartice.
RAW naspram USER_ENTERED
Pisanje zahtijeva valueInputOption:
- RAW sprema točno ono što pošaljete, kao tekst.
=1+2se sprema kao tekst=1+2. - USER_ENTERED tretira unos kao da je upisan u Sheets: datumi postaju datumi, a
=1+2postaje formula.
Ako pišete tekst koji su korisnici upisali u vašu aplikaciju, koristite RAW. S USER_ENTERED netko bi mogao poslati formulu koja se izvrši kada kolega otvori tablicu.
Kvote i greške
Od rujna 2026. Googleova stranica o ograničenjima Sheets API-ja navodi:
| Ograničenje | Zahtjevi čitanja | Zahtjevi pisanja |
|---|---|---|
| Po minuti po projektu | 300 | 300 |
| Po minuti po korisniku po projektu | 60 | 60 |
Nema dnevnog ograničenja dok ostajete unutar minutnih kvota. Prekoračenje vraća 429: Too many requests, a Google preporučuje skraćeno eksponencijalno čekanje: čekajte duže nakon svakog neuspjelog pokušaja, uz nasumično kašnjenje, do određenog maksimuma. Jedan zahtjev koji traje duže od 180 sekundi istječe zbog isteka vremena.
U praksi: nemojte pozivati API pri svakom prikazu stranice. Predmemorirajte podatke tablice na minutu ili duže, grupirajte čitanja s batchGet i grupirajte pisanja gdje možete.
Opcije i kompromisi
| Pristup | Prednosti | Nedostaci |
|---|---|---|
| Tablica kao izvor podataka uživo | Zaposlenici uređuju u poznatom alatu; nema administratorskih ekrana za izradu | Kvote, nema dozvola po retku, lako se pokvari preimenovanjem stupca |
| Sinkronizacija tablice u bazu podataka | Brza, pouzdana čitanja; aplikacija radi i kada Sheets nije dostupan | Trebate sinkronizacijski posao i pravilo koja strana pobjeđuje |
| Prvo baza podataka, izvoz u tablicu | Aplikacija posjeduje podatke; tablica je izvještaj | Izmjene u tablici se ne vraćaju natrag |
| Alat za automatizaciju između | Bez koda za jednostavne tokove | Još jedna pretplata; teže za otklanjanje grešaka |
Za sve s mnogo korisnika ili osjetljivim podacima, baza podataka je bolji izvor istine. Pogledajte što je baza podataka.
Upiti za vaš AI alat za izradu
Čitanje tablice:
Prikaži karticu „Menu” naše Google tablice na stranici jelovnika. Koristi Google Sheets API s poslužitelja sa servisnim računom čiji je JSON ključ u tajni GOOGLE_SERVICE_ACCOUNT_JSON, a ID tablice u SHEET_ID. Čitaj raspon Menu!A2:D (naziv, opis, cijena, kategorija). Predmemoriraj rezultat 5 minuta. Ako API ne uspije, prikaži zadnju predmemoriranu verziju. Nikada ne šalji ključ pregledniku.
Pisanje redaka:
Kada netko pošalje kontakt obrazac, spremi ga u našu bazu podataka i dodaj redak na karticu „Leads” (datum, ime, e-mail, poruka) pomoću spreadsheets.values.append s valueInputOption RAW. Ako Google vrati 429, pokušaj ponovno s eksponencijalnim čekanjem; ako i dalje ne uspije, zadrži upit u bazi podataka i pokušaj kasnije.
Česte pogreške
- Zaboravljanje da podijelite tablicu s e-mail adresom servisnog računa. API tada vraća grešku dozvola, iako je ključ ispravan.
- Ključ u frontendu ili repozitoriju. JSON ključ daje pristup svakoj tablici podijeljenoj s njim. Pogledajte kako čuvati API ključeve sigurnima.
- Korištenje USER_ENTERED za unos korisnika, što dopušta injekciju formula.
- Pozivanje API-ja pri svakom zahtjevu i dosezanje minutne kvote pri prvom skoku prometa.
- Oslanjanje na pozicije stupaca. Netko umetne stupac i aplikacija čita pogrešne podatke. Čitajte red zaglavlja i mapirajte po nazivu, ili zaključajte zaglavlje.
- Dijeljenje tablice šire nego što treba. „Anyone with the link” je čini javnom.
- Korištenje tablice kao višekorisničke baze podataka. Istodobna pisanja i nedostajuće dozvole uzrokuju izgubljene ili procurjele podatke.
Popis za provjeru
- Sheets API uključen; servisni račun napravljen
- Tablica podijeljena s e-mail adresom servisnog računa s najmanjom potrebnom ulogom
- Ključ i ID tablice spremljeni kao tajne vrijednosti na poslužitelju
- Svi pozivi se rade s poslužitelja
- Nazivi kartica korišteni u rasponima
- RAW korišten za tekst koji daju korisnici
- Čitanja predmemorirana; 429 obrađen čekanjem
- Aplikacija se elegantno snalazi ako Sheets nije dostupan
- Odlučeno koja strana je izvor istine
Google Sheets u Mythexu
Mythex ima dva različita načina rada s Sheetsom. Konektori povezuju vaš Google račun s Mythexom tako da ga agent može koristiti dok gradite, na primjer za čitanje tablice i izradu nadzorne ploče iz nje; dokumentacija kaže da vjerodajnica ostaje kod Mythexove usluge za povezivanje i nikada ne završi u vašem kodu (pogledajte Konektori, i odobrite svaku dozvolu koju Google traži). Da objavljena aplikacija sama čita ili piše u tablicu, pouzdan je put onaj iz ovog vodiča: ključ servisnog računa spremljen kao tajna vrijednost projekta i pozivi Sheets API-ju s vašeg poslužitelja, kao u Integrate any API. Ako prerastete tablicu, zamolite agenta da premjesti podatke u bazu podataka projekta i izgradi nadzornu ploču nad njima.
Pitanja
Kako moja aplikacija može čitati privatnu Google tablicu?
Uobičajen način je Google Cloud servisni račun: uključite Sheets API, napravite servisni račun i njegov ključ, zatim podijelite tablicu s e-mail adresom servisnog računa kao Viewer ili Editor. Vaš poslužitelj koristi ključ, pohranjen kao tajna vrijednost, za pozive Sheets API-ju.
Mogu li koristiti Google API ključ za pristup tablici?
Samo za javne podatke. Googleov vodič za vjerodajnice navodi da su API ključevi namijenjeni anonimnom pristupu javno dostupnim podacima, poput datoteka dijeljenih sa svakim tko ima poveznicu. Privatne tablice trebaju servisni račun ili OAuth.
Koja su ograničenja Google Sheets API-ja?
Od rujna 2026. Google navodi 300 zahtjeva za čitanje i 300 za pisanje u minuti po projektu, te 60 svake vrste u minuti po korisniku po projektu, bez dnevnog ograničenja. Prekoračenje vraća grešku 429; Google preporučuje skraćeno eksponencijalno čekanje (exponential backoff).
Trebam li koristiti Google Sheets kao bazu podataka svoje aplikacije?
Funkcionira za male aplikacije s malo prometa gdje ljudi i sami uređuju podatke u tablici. Za mnogo korisnika, česte upise, veze između zapisa ili dozvole po korisniku, prava baza podataka je pouzdanija, a i dalje možete izvoziti u tablicu.