Как да свържете Google Sheets към вашето приложение
За да свържете Google Sheets към приложението си, включете Google Sheets API в проект на Google Cloud, създайте служебен акаунт (service account), споделете таблицата с имейл адреса на служебния акаунт и съхранете неговия ключ като тайна на сървъра. След това сървърът ви чете редове с spreadsheets.values.get и добавя редове с spreadsheets.values.append. Ако потребителите трябва да свържат собствените си таблици, използвайте OAuth, а ако таблицата е напълно публична, за четене е достатъчен прост API ключ.
Това ръководство обхваща кой метод подхожда, нужните извиквания, квотите и капаните, и подсказки за AI инструмент за създаване на приложения. Подробностите за Google са от документацията за разработчици на Google към септември 2026.
Защо изобщо да свързвате таблица
Често срещани причини:
- Запазване на работния процес на екипа. Хората продължават да редактират ценова листа или график в Sheets, а приложението ги показва.
- Събиране на данни там, където хората вече гледат. Нови регистрации, поръчки или отговори от формуляр се появяват като редове.
- Отчетност. Експортирайте данните на приложението към таблица за хората, които работят със spreadsheets.
- Междинна стъпка. Започнете от таблицата, после преминете към истинска база данни. Вижте как да превърнете таблица в приложение.
Изберете как приложението ви влиза в Google
Ръководството на Google за удостоверяване описва три типа:
| Удостоверение | До какво има достъп | Най-подходящо за |
|---|---|---|
| API ключ | Само публично достъпни данни, например файлове, споделени с „Всеки с линка“ | Четене на публична таблица |
| Служебен акаунт | Данни, притежавани от приложението ви, или конкретни файлове, споделени със служебния акаунт | Приложението ви да чете и записва вашите таблици |
| OAuth клиентски ID | Файловете на потребителя, след като той даде съгласие | Потребителите да свързват собствените си таблици |
За повечето приложения правилният избор е служебен акаунт: един набор от удостоверения, притежаван от вас, с достъп само до таблиците, които изрично споделите с него.
Стъпка по стъпка със служебен акаунт
- Създайте или изберете проект в Google Cloud и включете Google Sheets API.
- Създайте служебен акаунт и ключ за него. Ключът е JSON файл; третирайте го като парола.
- Споделете таблицата с имейл адреса на служебния акаунт — като Viewer за четене или Editor за запис. Ръководството на Google казва, че това се прави през обичайния екран за споделяне.
- Съхранете ключа като тайна на сървъра, например
GOOGLE_SERVICE_ACCOUNT_JSON, а ID-то на таблицата (дългия низ в URL адреса на таблицата) — катоSHEET_ID. - Извиквайте API от сървъра с клиентската библиотека на Google за вашия език.
- Кеширайте четенията, ако много посетители виждат едни и същи данни, за да не достигате квотата.
Извикванията, които ще използвате
От ръководството на Google за четене и запис на стойности:
| Метод | Какво прави |
|---|---|
spreadsheets.values.get | Чете един диапазон, например Leads!A1:E |
spreadsheets.values.batchGet | Чете няколко диапазона в една заявка |
spreadsheets.values.update | Записва в конкретен диапазон |
spreadsheets.values.append | Добавя редове след съществуващите данни в таблица |
Диапазоните използват A1 нотация. Google отбелязва, че диапазон без име на лист, като A1:B2, се отнася за първия лист, затова именувайте таба изрично, за да избегнете изненади, когато някой преподреди табовете.
RAW срещу USER_ENTERED
Записите изискват valueInputOption:
- RAW записва точно това, което изпращате, като текст.
=1+2се записва като текста=1+2. - USER_ENTERED третира входа така, сякаш е въведен в Sheets: датите стават дати, а
=1+2става формула.
Ако записвате текст, който потребителите са въвели в приложението ви, използвайте RAW. С USER_ENTERED някой може да изпрати формула, която се изпълнява, когато колега отвори таблицата.
Квоти и грешки
Към септември 2026 страницата на Google с лимитите за Sheets API посочва:
| Лимит | Заявки за четене | Заявки за запис |
|---|---|---|
| На минута на проект | 300 | 300 |
| На минута на потребител на проект | 60 | 60 |
Няма дневен лимит, докато оставате в минутните квоти. При превишаване се връща 429: Too many requests, а Google препоръчва експоненциално изчакване със съкращаване: чакайте все по-дълго след всеки неуспешен опит, със случайно забавяне, до определен максимум. Единична заявка, която отнема над 180 секунди, изтича по време.
На практика: не извиквайте API при всяко отваряне на страница. Кеширайте данните на таблицата поне една минута, групирайте четенията с batchGet и групирайте записите, където можете.
Опции и компромиси
| Подход | Предимства | Недостатъци |
|---|---|---|
| Таблицата като жив източник на данни | Екипът редактира в познат инструмент; не трябва да се изграждат административни екрани | Квоти, няма права за отделни редове, лесно се счупва при преименуване на колона |
| Синхронизиране на таблицата в база данни | Бързи и надеждни четения; приложението работи, ако Sheets е недостъпен | Нужна е синхронизираща задача и правило кой източник печели |
| Първо база данни, после експорт към таблица | Приложението притежава данните; таблицата е отчет | Редакциите в таблицата не се връщат обратно |
| Инструмент за автоматизация между тях | Без код за прости потоци | Още един абонамент; по-трудно за отстраняване на грешки |
За всичко с много потребители или чувствителни данни базата данни е по-добрият основен източник. Вижте какво е база данни.
Подсказки за вашия AI инструмент
Четене на таблица:
Покажи таба „Menu“ от нашата Google Sheets таблица на страницата с менюто. Използвай Google Sheets API от сървъра със служебен акаунт, чийто JSON ключ е в тайната GOOGLE_SERVICE_ACCOUNT_JSON, а ID-то на таблицата е в SHEET_ID. Прочети диапазона Menu!A2:D (име, описание, цена, категория). Кеширай резултата за 5 минути. Ако API-то се провали, покажи последната кеширана версия. Никога не изпращай ключа към браузъра.
Запис на редове:
Когато някой изпрати формуляра за контакт, запази го в базата данни и същевременно добави ред в таба „Leads“ (дата, име, имейл, съобщение) с spreadsheets.values.append и valueInputOption RAW. Ако Google върне 429, опитай отново с експоненциално изчакване; ако все още се проваля, запази потенциалния клиент в базата данни и опитай по-късно.
Чести грешки
- Забравяне да споделите таблицата с имейла на служебния акаунт. API-то тогава връща грешка за права, въпреки че ключът е наред.
- Ключ във фронтенда или в хранилището. JSON ключът дава достъп до всяка таблица, споделена с него. Вижте как да пазите API ключовете в безопасност.
- Използване на USER_ENTERED за входа на потребителите, което позволява инжектиране на формули.
- Извикване на API при всяка заявка и достигане на минутната квота при първия пик на трафик.
- Разчитане на позициите на колоните. Някой вмъква колона и приложението чете грешни данни. Прочетете реда със заглавията и съпоставяйте по име, или заключете заглавията.
- Споделяне на таблицата по-широко, отколкото е нужно. „Всеки с линка“ я прави публична.
- Използване на таблица като многопотребителска база данни. Едновременните записи и липсващите права водят до загубени или изтекли данни.
Контролен списък
- Sheets API е включен; служебният акаунт е създаден
- Таблицата е споделена със служебния имейл с най-ниската нужна роля
- Ключът и ID-то на таблицата са съхранени като тайни на сървъра
- Всички извиквания се правят от сървъра
- Имената на табовете са използвани в диапазоните
- RAW се използва за текст, въведен от потребители
- Четенията са кеширани; 429 се обработва с изчакване
- Приложението работи деградирано, ако Sheets е недостъпен
- Решено е кой източник е основният
Google Sheets в Mythex
Mythex има два различни начина за работа с Sheets. Конектори свързват вашия Google акаунт с Mythex, за да може агентът да го използва по време на изграждането — например да прочете таблица и да изгради табло върху нея; според документацията удостоверението остава при услугата за връзки на Mythex и никога не попада във вашия код (вижте Конектори и одобрявайте всяко разрешение, което Google поиска). За да може публикуваното приложение само да чете или записва в таблица, надеждният път е този от това ръководство: ключ на служебен акаунт, съхранен като тайна на проекта, и извиквания към Sheets API от сървъра, както е описано в Интегриране на всеки API. Ако таблицата вече не ви стига, помолете агента да премести данните в базата данни на проекта и да изгради табло върху тях.
Въпроси
Как приложението ми може да чете частен Google Sheet?
Обичайният начин е служебен акаунт (service account) в Google Cloud: включвате Sheets API, създавате служебния акаунт и неговия ключ, след което споделяте таблицата с имейл адреса на служебния акаунт като Viewer или Editor. Вашият сървър използва ключа, съхранен като тайна, за да извиква Sheets API.
Мога ли да използвам Google API ключ за достъп до таблица?
Само за публични данни. Ръководството на Google за удостоверяване казва, че API ключовете са за анонимен достъп до публично достъпни данни, например файлове, споделени с всеки, който има линка. За частни таблици са нужни служебен акаунт или OAuth.
Какви са лимитите на Google Sheets API?
Към септември 2026 Google посочва 300 заявки за четене и 300 за запис в минута на проект, и 60 от всяко в минута на потребител на проект, без дневен лимит. При превишаване се връща грешка 429; Google препоръчва експоненциално изчакване със съкращаване (truncated exponential backoff).
Трябва ли да използвам Google Sheets като база данни на приложението си?
Работи за малки приложения с малко трафик, където хората редактират данните и в самата таблица. При много потребители, чести записи, връзки между записи или права за всеки потребител една истинска база данни е по-надеждна, а можете пак да експортирате към таблица.