Google Sheetsin yhdistäminen sovellukseesi
Google Sheetsin yhdistämiseksi sovellukseesi ota Google Sheets API käyttöön Google Cloud -projektissa, luo palvelutili, jaa taulukko palvelutilin sähköpostiosoitteen kanssa ja tallenna sen avain palvelinpuolen salaisuutena. Palvelimesi lukee rivit kutsulla spreadsheets.values.get ja lisää rivejä kutsulla spreadsheets.values.append. Jos käyttäjien täytyy yhdistää omia taulukkojaan, käytä OAuthia. Jos taulukko on kokonaan julkinen, pelkkä API-avain riittää lukemiseen.
Tämä opas käy läpi, mikä menetelmä sopii, tarvittavat kutsut, kiintiöt ja sudenkuopat sekä kehotteita tekoälysovellusrakentajalle. Googlen yksityiskohdat ovat Googlen kehittäjädokumentaatiosta syyskuun 2026 tilanteen mukaan.
Miksi yhdistää taulukko lainkaan
Yleisiä syitä:
- Tiimin työnkulun säilyttäminen. Henkilöstö muokkaa hinnastoa tai aikataulua Sheetsissä, ja sovellus näyttää sen.
- Tietojen kokoaminen paikkaan, jossa ihmiset jo katsovat. Uudet rekisteröitymiset, tilaukset tai lomakevastaukset ilmestyvät riveinä.
- Raportointi. Vie sovelluksen tiedot taulukkoon ihmisille, jotka elävät taulukkolaskennan parissa.
- Välivaihe. Aloita taulukosta ja siirry myöhemmin kunnolliseen tietokantaan. Katso miten muutat taulukon sovellukseksi.
Valitse, miten sovelluksesi kirjautuu Googleen
Google kuvaa kolme tunnistetyyppiä tunnistautumisohjeessaan:
| Tunnistetieto | Mihin se pääsee | Parhaiten sopii |
|---|---|---|
| API-avain | Vain julkisesti saatavilla oleva data, kuten tiedostot, jotka on jaettu ”Kaikille linkin kanssa” | Julkisen taulukon lukeminen |
| Palvelutili | Sovelluksesi omistama data tai tietyt palvelutilin sähköpostille jaetut tiedostot | Sovelluksesi lukee ja kirjoittaa sinun taulukoitasi |
| OAuth-asiakastunnus | Käyttäjän omat tiedostot, kun hän antaa luvan | Antaa jokaisen käyttäjän yhdistää omat taulukkonsa |
Useimmille sovelluksille palvelutili on oikea valinta: yksi tunnistetietojoukko, jonka omistat, ja pääsy vain niihin taulukoihin, jotka jaat sille erikseen.
Vaihe vaiheelta palvelutilillä
- Luo tai valitse Google Cloud -projekti ja ota Google Sheets API käyttöön.
- Luo palvelutili ja sille avain. Avain on JSON-tiedosto, jota kohdellaan kuin salasanaa.
- Jaa taulukko palvelutilin sähköpostiosoitteen kanssa. Valitse Katselija, jos tarvitset vain lukuoikeuden, tai Muokkaaja, jos haluat kirjoittaa. Googlen ohjeen mukaan tämä tehdään tavallisen jakonäkymän kautta.
- Tallenna avain salaisuutena palvelimelle, esimerkiksi nimellä
GOOGLE_SERVICE_ACCOUNT_JSON, ja taulukon tunniste (pitkä merkkijono taulukon osoitteessa) nimelläSHEET_ID. - Kutsu API:a palvelimelta Googlen kirjastolla kielellesi.
- Välimuistita lukutulokset, jos monet kävijät näkevät samat tiedot, jottei kiintiöön osuta.
Kutsut, joita käytät
Google ohjeistaa arvojen lukemisessa ja kirjoittamisessa seuraavasti:
| Metodi | Mitä se tekee |
|---|---|
spreadsheets.values.get | Lukee yhden alueen, kuten Leads!A1:E |
spreadsheets.values.batchGet | Lukee useita alueita yhdellä pyynnöllä |
spreadsheets.values.update | Kirjoittaa tiettyyn alueeseen |
spreadsheets.values.append | Lisää rivejä olemassa olevan datan perään taulukkoon |
Alueet käyttävät A1-merkintää. Google huomauttaa, että alue ilman taulukon nimeä, kuten A1:B2, koskee ensimmäistä arkkia. Nimeä välilehti aina itse, ettei yllätyksiä tule, kun joku järjestää välilehtiä uudelleen.
RAW vs USER_ENTERED
Kirjoitukset tarvitsevat valueInputOption-asetuksen:
- RAW tallentaa täsmälleen lähettämäsi tekstinä.
=1+2tallentuu tekstinä=1+2. - USER_ENTERED käsittelee syötteen kuin Sheetsiin kirjoitettuna: päivämäärät muuttuvat päivämääriksi ja
=1+2kaavaksi.
Jos kirjoitat käyttäjien sovellukseesi kirjoittamaa tekstiä, käytä RAW-asetusta. USER_ENTERED-asetuksella joku voisi lähettää kaavan, joka suoritetaan, kun kollega avaa taulukon.
Kiintiöt ja virheet
Syyskuun 2026 tilanteen mukaan Googlen Sheets API -rajasivu listaa seuraavat rajat:
| Raja | Lukupyynnöt | Kirjoituspyynnöt |
|---|---|---|
| Minuutissa projektia kohden | 300 | 300 |
| Minuutissa käyttäjää ja projektia kohden | 60 | 60 |
Päivärajaa ei ole, kunhan pysyt minuuttikohtaisissa kiintiöissä. Rajan ylittyessä palautuu 429: Too many requests. Google suosittelee katkaistua eksponentiaalista odotusta eli odotuksen pidentämistä jokaisen epäonnistuneen yrityksen jälkeen satunnaisella viiveellä, enintään tietyn enimmäisajan. Yksittäinen pyyntö, joka kestää yli 180 sekuntia, aikakatkaistaan.
Käytännössä: älä kutsu API:a jokaisella sivunäytöllä. Välimuistita taulukon data vähintään minuutiksi, yhdistä lukuja batchGet-kutsulla ja ryhmitä kirjoituksia, kun voit.
Vaihtoehdot ja kompromissit
| Lähestymistapa | Hyvää | Huonoa |
|---|---|---|
| Taulukko elävänä datalähteenä | Henkilöstö muokkaa tutussa työkalussa; ei hallintanäkymiä rakennettavaksi | Kiintiöt, ei rivikohtaisia oikeuksia, helppo rikkoa nimeämällä sarake uudelleen |
| Taulukko synkronoidaan tietokantaan | Nopeat ja luotettavat luvut; sovellus toimii, vaikka Sheets olisi alhaalla | Tarvitset synkronointityön ja säännön siitä, kumpi puoli voittaa |
| Tietokanta ensin, vienti taulukkoon | Sovellus omistaa datan; taulukko on raportti | Taulukon muokkaukset eivät palaa takaisin |
| Automaatiotyökalu välissä | Ei koodia yksinkertaisiin kuvioihin | Toinen tilaus; vaikeampi debugata |
Jos kyse on monista käyttäjistä tai arkaluonteisesta datasta, tietokanta on parempi totuuden lähde. Katso mikä tietokanta on.
Kehotteet tekoälysovellusrakentajalle
Taulukon lukeminen:
Näytä taulukkomme ”Menu”-välilehden tiedot menu-sivulla. Käytä Google Sheets API:a palvelimelta palvelutilillä, jonka JSON-avain on salaisuudessa GOOGLE_SERVICE_ACCOUNT_JSON ja taulukon tunniste SHEET_ID:ssä. Lue alue Menu!A2:D (nimi, kuvaus, hinta, kategoria). Välimuistita tulos 5 minuutiksi. Jos API epäonnistuu, näytä viimeisin välimuistissa oleva versio. Älä koskaan lähetä avainta selaimeen.
Rivien kirjoittaminen:
Kun joku lähettää yhteydenottolomakkeen, tallenna se tietokantaan ja lisää myös rivi ”Leads”-välilehdelle (päivämäärä, nimi, sähköposti, viesti) käyttäen spreadsheets.values.append-kutsua ja valueInputOption-asetusta RAW. Jos Google palauttaa 429:n, yritä uudelleen eksponentiaalisella odotuksella. Jos se epäonnistuu lopulta, säilytä liidi tietokannassa ja yritä myöhemmin uudelleen.
Yleisiä virheitä
- Taulukon jakamisen unohtaminen palvelutilin sähköpostille. API palauttaa silloin oikeusvirheen, vaikka avain on kunnossa.
- Avain frontendissä tai repositoriossa. JSON-avain antaa pääsyn kaikkiin sille jaettuihin taulukoihin. Katso miten pidät API-avaimet turvassa.
- USER_ENTERED-asetuksen käyttö käyttäjän syötteelle, mikä sallii kaavojen injektoinnin.
- API-kutsu jokaisella pyynnöllä, jolloin minuuttikiintiö täyttyy ensimmäisessä liikennepiikissä.
- Riippuvuus sarakkeiden paikasta. Joku lisää sarakkeen, ja sovellus lukee väärää dataa. Lue otsikkorivi ja yhdistä nimen perusteella tai lukitse otsikot.
- Taulukon jakaminen laajemmin kuin tarpeen. ”Kaikille linkin kanssa” tekee siitä julkisen.
- Taulukon käyttö monikäyttäjätietokantana. Samanaikaiset kirjoitukset ja puuttuvat oikeudet aiheuttavat tietojen katoamista tai vuotamista.
Tarkistuslista
- Sheets API käytössä, palvelutili luotu
- Taulukko jaettu palvelutilin sähköpostille pienimmällä tarvittavalla oikeudella
- Avain ja taulukon tunniste tallennettu palvelinpuolen salaisuuksiksi
- Kaikki kutsut tehdään palvelimelta
- Välilehtien nimet käytetään alueissa
- RAW-asetus käyttäjän antamalle tekstille
- Luvut välimuistissa; 429 käsitelty odotuksella
- Sovellus toimii rajoitetusti, jos Sheets ei ole saatavilla
- Päätetty, kumpi puoli on totuuden lähde
Google Sheets Mythexissä
Mythexissä on kaksi eri tapaa työskennellä Sheetsin kanssa. Yhdistimet liittävät Google-tilisi Mythexiin, jotta agentti voi käyttää sitä rakentaessasi, esimerkiksi lukemalla taulukon ja rakentamalla siitä kojelaudan. Dokumentaation mukaan tunnistetiedot pysyvät Mythexin yhteyspalvelussa eivätkä koskaan päädy koodiisi. Hyväksy jokainen Googlen pyytämä oikeus (Yhdistimet). Jos julkaistun sovelluksen pitää lukea tai kirjoittaa taulukkoa itsenäisesti, luotettava tapa on tämän oppaan mukainen: palvelutilin avain tallennettuna projektin salaisuutena ja Sheets API -kutsut palvelimeltasi, kuten kohdassa Integroi mikä tahansa API. Jos taulukko käy ahtaaksi, pyydä agenttia siirtämään data projektin tietokantaan ja rakentamaan siihen kojelauta.
Kysymykset
Miten sovellukseni voi lukea yksityistä Google Sheetiä?
Yleisin tapa on Google Cloud -palvelutili. Ota Sheets API käyttöön, luo palvelutili ja sen avain ja jaa taulukko palvelutilin sähköpostiosoitteen kanssa Katselijana tai Muokkaajana. Palvelimesi käyttää avainta, joka on tallennettu salaisuutena, kun se kutsuu Sheets API:a.
Voinko käyttää Google API -avainta taulukon avaamiseen?
Vain julkiselle datalle. Googlen tunnistautumisohjeen mukaan API-avaimet ovat anonyymiin käyttöön julkisesti saatavilla olevaan dataan, kuten tiedostoihin, jotka on jaettu kaikille linkin kautta. Yksityiset taulukot tarvitsevat palvelutilin tai OAuthin.
Mitkä ovat Google Sheets API:n rajat?
Syyskuun 2026 tilanteen mukaan Google listaa 300 lukupyyntöä ja 300 kirjoituspyyntöä minuutissa projektia kohden sekä 60 kumpaakin minuutissa käyttäjää ja projektia kohden. Päivärajaa ei ole. Rajan ylittyessä palautuu virhe 429, ja Google suosittelee katkaistua eksponentiaalista odotusta.
Pitäisikö käyttää Google Sheetsiä sovellukseni tietokantana?
Se toimii pienille, vähän liikennettä saaville sovelluksille, joissa ihmiset muokkaavat dataa myös taulukossa. Monille käyttäjille, usein tapahtuville kirjoituksille, tietueiden välisille suhteille tai käyttäjäkohtaisille oikeuksille oikea tietokanta on luotettavampi, ja voit silti viedä tiedot taulukkoon.