Paano Ikonekta ang Google Sheets sa App Mo
Para ikonekta ang Google Sheets sa app mo, i-enable ang Google Sheets API sa Google Cloud project, gumawa ng service account, i-share ang spreadsheet sa email address ng service account, at i-imbak ang key nito bilang server-side secret. Pagkatapos, babasahin ng server mo ang mga row gamit ang spreadsheets.values.get at magdadagdag ng row gamit ang spreadsheets.values.append. Kung kailangang ikonekta ng mga user ang sarili nilang sheet, gamitin ang OAuth sa halip. Kung ganap na pampubliko ang sheet, sapat na ang simpleng API key para sa pagbabasa.
Sakop ng gabay na ito kung aling paraan ang bagay, ang mga tawag na kailangan mo, ang mga quota at mga bitag, at mga prompt para sa AI app builder. Ang mga detalye ng Google ay mula sa developer documentation ng Google as of September 2026.
Bakit ikokonekta ang sheet
Karaniwang dahilan:
- Panatilihin ang workflow ng team. Patuloy na nag-e-edit ang staff ng price list o schedule sa Sheets; ipinapakita ito ng app.
- Mangolekta ng data kung saan na tumitingin ang mga tao. Ang mga bagong signup, order o form response ay pumapasok bilang row.
- Reporting. I-export ang data ng app sa sheet para sa mga taong sanay sa spreadsheet.
- Panimulang hakbang. Magsimula sa sheet, saka lumipat sa tamang database. Tingnan ang paano gawing app ang spreadsheet.
Piliin kung paano mag-sign in ang app mo sa Google
Iniisa-isa ng credentials guide ng Google ang tatlong uri:
| Credential | Ano ang maaari nitong ma-access | Pinakamainam para sa |
|---|---|---|
| API key | Pampublikong data lang, gaya ng mga file na naka-share sa "Anyone with the link" | Pagbabasa ng pampublikong sheet |
| Service account | Data na pag-aari ng app mo, o mga partikular na file na naka-share sa email ng service account | Pagbabasa at pagsusulat ng sarili mong mga sheet ng app |
| OAuth client ID | Mga file ng user mismo, matapos siyang pumayag | Pagpapahintulot sa bawat user na ikonekta ang sarili nilang sheet |
Kadalasan, service account ang tamang pagpili para sa karamihan ng app: isang set ng credentials, pag-aari mo, at may access lang sa mga sheet na tahasan mong i-share dito.
Hakbang-hakbang gamit ang service account
- Gumawa o pumili ng Google Cloud project at i-enable ang Google Sheets API.
- Gumawa ng service account at key para dito. Ang key ay JSON file; ituring ito na parang password.
- I-share ang spreadsheet sa email address ng service account, bilang Viewer para sa read-only o Editor para makapagsulat. Sinasabi ng guide ng Google na ginagawa ito sa karaniwang sharing screen.
- I-imbak ang key bilang secret sa server mo, halimbawa
GOOGLE_SERVICE_ACCOUNT_JSON, kasama ang spreadsheet ID (ang mahabang string sa URL ng sheet) bilangSHEET_ID. - Tawagin ang API mula sa server gamit ang client library ng Google para sa wika mo.
- I-cache ang mga read kung maraming bisita ang nakakakita ng parehong data, para hindi maabot ang quota.
Ang mga tawag na gagamitin mo
Mula sa guide ng Google sa pagbabasa at pagsusulat ng values:
| Method | Ano ang ginagawa nito |
|---|---|
spreadsheets.values.get | Bumabasa ng isang range, gaya ng Leads!A1:E |
spreadsheets.values.batchGet | Bumabasa ng ilang range sa isang request |
spreadsheets.values.update | Nagsusulat sa partikular na range |
spreadsheets.values.append | Nagdadagdag ng row pagkatapos ng umiiral na data sa table |
Ang mga range ay gumagamit ng A1 notation. Sinasabi ng Google na ang range na walang pangalan ng sheet, gaya ng A1:B2, ay tumutukoy sa unang sheet, kaya pangalanan nang tahasan ang tab para maiwasan ang gulat kapag inayos ng iba ang pagkakasunod ng mga tab.
RAW vs USER_ENTERED
Kailangan ng pagsusulat ng valueInputOption:
- RAW ay iniimbak nang eksakto ang ipinadala mo, bilang teksto. Ang
=1+2ay iniimbak bilang tekstong=1+2. - USER_ENTERED ay itinuturing ang input na parang itinype sa Sheets: nagiging petsa ang mga petsa at nagiging formula ang
=1+2.
Kung magsusulat ka ng tekstong itinype ng user sa app mo, gamitin ang RAW. Sa USER_ENTERED, puwedeng magsumite ang isang tao ng formula na tatakbo kapag binuksan ng katrabaho ang sheet.
Quota at error
As of September 2026, nakalista sa limits page ng Google Sheets API ang:
| Limit | Read requests | Write requests |
|---|---|---|
| Kada minuto bawat project | 300 | 300 |
| Kada minuto bawat user bawat project | 60 | 60 |
Walang daily limit basta nananatili ka sa per-minute quota. Kapag lumampas, magbabalik ito ng 429: Too many requests, at inirerekomenda ng Google ang truncated exponential backoff: maghintay nang mas matagal pagkatapos ng bawat nabigong subok, na may random na delay, hanggang sa maximum. Nagta-time out ang isang request na lampas sa 180 segundo.
Sa praktika: huwag tawagin ang API sa bawat page view. I-cache ang data ng sheet nang isang minuto o higit pa, i-batch ang mga read gamit ang batchGet, at i-batch ang mga write kung kaya.
Mga opsyon at trade-off
| Paraan | Mga pros | Mga cons |
|---|---|---|
| Sheet bilang live data source | Nae-edit ng staff sa pamilyar na tool; walang admin screen na kailangang buuin | Quota, walang permission kada row, madaling masira kapag pinalitan ang pangalan ng column |
| I-sync ang sheet papunta sa database | Mabilis at maaasahang pagbabasa; gumagana pa rin ang app kung down ang Sheets | Kailangan ng sync job at panuntunan kung aling panig ang nananalo |
| Database muna, i-export sa sheet | Pag-aari ng app ang data; ang sheet ay report | Hindi bumabalik sa app ang mga pagbabago sa sheet |
| Automation tool sa gitna | Walang code para sa simpleng flow | Isa pang subscription; mas mahirap i-debug |
Para sa anumang may maraming user o sensitibong data, mas mainam ang database bilang source of truth. Tingnan ang ano ang database.
Mga prompt para sa AI builder mo
Pagbabasa ng sheet:
Ipakita ang "Menu" tab ng Google Sheet namin sa menu page. Gamitin ang Google Sheets API mula sa server gamit ang service account na ang JSON key ay nasa secret na GOOGLE_SERVICE_ACCOUNT_JSON, at ang spreadsheet ID sa SHEET_ID. Basahin ang range na Menu!A2:D (pangalan, paglalarawan, presyo, kategorya). I-cache ang resulta nang 5 minuto. Kung pumalya ang API, ipakita ang huling naka-cache na bersyon. Huwag kailanman ipadala ang key sa browser.
Pagsusulat ng row:
Kapag nagsumite ang isang tao ng contact form, i-save ito sa database namin at magdagdag din ng row sa "Leads" tab (petsa, pangalan, email, mensahe) gamit ang spreadsheets.values.append na may valueInputOption RAW. Kung magbabalik ang Google ng 429, subukan ulit gamit ang exponential backoff; kung pumalya pa rin, panatilihin ang lead sa database at subukan ulit sa ibang pagkakataon.
Mga karaniwang pagkakamali
- Pagkalimot na i-share ang sheet sa email ng service account. Magbabalik ang API ng permission error kahit tama ang key.
- Key sa frontend o sa repository. Nagbibigay ng access ang JSON key sa bawat sheet na naka-share dito. Tingnan ang paano panatilihing ligtas ang API keys.
- Paggamit ng USER_ENTERED para sa input ng user, na nagpapahintulot ng formula injection.
- Pagtawag sa API sa bawat request at pag-abot sa per-minute quota sa unang pagdagsa ng trapiko.
- Pag-asa sa posisyon ng column. May nagsingit ng column at mali na ang data na nababasa ng app. Basahin ang header row at i-map ayon sa pangalan, o i-lock ang header.
- Pag-share ng sheet nang mas malawak kaysa kailangan. Ginagawang pampubliko ng "Anyone with the link" ang sheet.
- Paggamit ng sheet bilang multi-user na database. Ang sabay-sabay na pagsusulat at kulang na permission ay nagdudulot ng nawawala o naiilabas na data.
Checklist
- Naka-enable ang Sheets API; nagawa ang service account
- Naka-share ang sheet sa email ng service account sa pinakamababang role na kailangan
- Nakaimbak ang key at sheet ID bilang server-side secrets
- Lahat ng tawag ay ginawa mula sa server
- Ginagamit ang pangalan ng tab sa mga range
- RAW ang gamit para sa tekstong ibinigay ng user
- Naka-cache ang mga read; hawak ang 429 gamit ang backoff
- Maayos pa rin ang app kung hindi available ang Sheets
- Napagpasyahan kung aling panig ang source of truth
Google Sheets sa Mythex
May dalawang magkaibang paraan ang Mythex para magtrabaho sa Sheets. Iniuugnay ng Connectors ang Google account mo sa Mythex para magamit ito ng agent habang nagbu-build ka, halimbawa para magbasa ng sheet at gumawa ng dashboard mula rito. Ayon sa docs, nananatili ang credential sa connection service ng Mythex at hindi napupunta sa code mo (tingnan ang Connectors, at aprubahan ang bawat permission na hinihingi ng Google). Para sa na-publish na app na kusang magbasa o magsulat ng sheet, ang maaasahang ruta ay ang nasa guide na ito: service account key na nakaimbak bilang project secret at mga tawag sa Sheets API mula sa server mo, gaya ng nasa Integrate any API. Kung lumalampas ka na sa sheet, hilingin sa agent na ilipat ang data sa database ng project at gumawa ng dashboard sa ibabaw nito.
Mga tanong
Paano mababasa ng app ko ang pribadong Google Sheet?
Ang karaniwang paraan ay gamit ang Google Cloud service account: i-enable ang Sheets API, gumawa ng service account at ang key nito, pagkatapos ay i-share ang spreadsheet sa email address ng service account bilang Viewer o Editor. Gagamitin ng server mo ang key, na nakaimbak bilang secret, para tawagin ang Sheets API.
Puwede ba akong gumamit ng Google API key para ma-access ang spreadsheet?
Para lang sa pampublikong data. Sinasabi ng credentials guide ng Google na para sa anonymous access sa mga publicly available na data ang API keys, gaya ng mga file na naka-share sa sinumang may link. Kailangan ng pribadong sheet ang service account o OAuth.
Ano ang mga limit ng Google Sheets API?
As of September 2026, nakalista sa Google ang 300 read at 300 write request kada minuto bawat project, at 60 sa bawat isa kada minuto bawat user bawat project, walang daily limit. Kapag lumampas, magbabalik ito ng 429 error; inirerekomenda ng Google ang truncated exponential backoff.
Dapat ko bang gamitin ang Google Sheets bilang database ng app ko?
Gumagana ito para sa maliliit at mababang-trapikong app kung saan nae-edit din ng mga tao ang data sa sheet. Para sa maraming user, madalas na pagsusulat, ugnayan ng mga record, o permissions kada user, mas maaasahan ang totoong database, at puwede ka pa ring mag-export sa sheet.