Oppaat

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:

TunnistetietoMihin se pääseeParhaiten sopii
API-avainVain julkisesti saatavilla oleva data, kuten tiedostot, jotka on jaettu ”Kaikille linkin kanssa”Julkisen taulukon lukeminen
PalvelutiliSovelluksesi omistama data tai tietyt palvelutilin sähköpostille jaetut tiedostotSovelluksesi lukee ja kirjoittaa sinun taulukoitasi
OAuth-asiakastunnusKäyttäjän omat tiedostot, kun hän antaa luvanAntaa 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ä

  1. Luo tai valitse Google Cloud -projekti ja ota Google Sheets API käyttöön.
  2. Luo palvelutili ja sille avain. Avain on JSON-tiedosto, jota kohdellaan kuin salasanaa.
  3. 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.
  4. Tallenna avain salaisuutena palvelimelle, esimerkiksi nimellä GOOGLE_SERVICE_ACCOUNT_JSON, ja taulukon tunniste (pitkä merkkijono taulukon osoitteessa) nimellä SHEET_ID.
  5. Kutsu API:a palvelimelta Googlen kirjastolla kielellesi.
  6. 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:

MetodiMitä se tekee
spreadsheets.values.getLukee yhden alueen, kuten Leads!A1:E
spreadsheets.values.batchGetLukee useita alueita yhdellä pyynnöllä
spreadsheets.values.updateKirjoittaa tiettyyn alueeseen
spreadsheets.values.appendLisää 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+2 tallentuu tekstinä =1+2.
  • USER_ENTERED käsittelee syötteen kuin Sheetsiin kirjoitettuna: päivämäärät muuttuvat päivämääriksi ja =1+2 kaavaksi.

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:

RajaLukupyynnötKirjoituspyynnöt
Minuutissa projektia kohden300300
Minuutissa käyttäjää ja projektia kohden6060

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ähestymistapaHyvääHuonoa
Taulukko elävänä datalähteenäHenkilöstö muokkaa tutussa työkalussa; ei hallintanäkymiä rakennettavaksiKiintiöt, ei rivikohtaisia oikeuksia, helppo rikkoa nimeämällä sarake uudelleen
Taulukko synkronoidaan tietokantaanNopeat ja luotettavat luvut; sovellus toimii, vaikka Sheets olisi alhaallaTarvitset synkronointityön ja säännön siitä, kumpi puoli voittaa
Tietokanta ensin, vienti taulukkoonSovellus omistaa datan; taulukko on raporttiTaulukon muokkaukset eivät palaa takaisin
Automaatiotyökalu välissäEi koodia yksinkertaisiin kuvioihinToinen 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.

Mythex · Pricing · Rakenna mitä tahansa tekoälyllä · Verkkosivu- ja sovellusmallipohjat · Mythex vertailussa · Tekoälysovellusten rakentamisen sanasto · Ilmaiset työkalut tekoälysovellusten rakentamiseen · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)