Как отдать заполнение Google Sheets и Docs нейросети
2026-07-016 просмотров
Настроим сервисный аккаунт Google и научим нейросеть заполнять и форматировать таблицы и документы. Один раз настроил — дальше любой отчёт, прайс или договор собирается одной просьбой. Настройка занимает ~15 минут.
Зачем: заполнять и форматировать Google Sheets и Docs руками — долго и однообразно. Эту работу можно отдать нейросети: она запишет данные, посчитает формулы и оформит таблицу. Нужно один раз дать скрипту доступ к твоим файлам — для этого у Google есть сервисный аккаунт.
Настройка одноразовая: сделал один раз — дальше сервисный аккаунт работает бесплатно с любым числом таблиц и документов.
Что такое сервисный аккаунт
В обычный аккаунт ты заходишь сам — вводишь логин, пароль и код подтверждения. У сервисного аккаунта пароля нет: вместо тебя в Google ходит скрипт. Он предъявляет ключ-файл и получает доступ к тем файлам, которые ты ему открыл.
У сервисного аккаунта есть:
- свой email вида
name@project-id.iam.gserviceaccount.com— на него ты открываешь доступ к файлам; - ключ-файл (JSON) вместо пароля — им скрипт подтверждает, что это он;
- доступ только к тем файлам, которые ты ему дал.
Принцип тот же, что с обычным человеком: дал доступ к файлу → скрипт с ключом читает и меняет его. Не дал — доступа нет.
Важно перед началом. Программировать не нужно. Где ниже встречаются команды в терминале или код — можно не делать их руками, а просто попросить нейросеть словами, и она всё выполнит: наберёт команды, напишет и запустит скрипт. Мы показываем их, чтобы ты понимал, что происходит. А если вникать в шаги совсем не хочется — в конце есть готовый промпт: скопируй, подставь ссылку на таблицу и вставь нейросети.
Шаг 1. Создать проект в Google Cloud
- Открой консоль Google Cloud и войди в свой Google-аккаунт
- Открой форму нового проекта → console.cloud.google.com/projectcreate (или вверху нажми на список проектов → New Project)
- Назови проект (например
sheets-automation), нажми Create - Дождись создания и выбери этот проект в списке вверху — дальше все шаги делаем внутри него
Список проектов и кнопка New project справа сверху.
Проект — это контейнер для настроек. Пока ты пользуешься только Sheets и Docs API, он бесплатный: их лимитов хватает с запасом.
Ссылки на экраны консоли ниже открываются в выбранном проекте — держи нужный проект выбранным в шапке.
Шаг 2. Включить Sheets API и Docs API
По умолчанию эти API выключены. Включи их вручную, иначе скрипт получит ошибку доступа.
- Открой страницу Google Sheets API → нажми Enable (Включить)
- Открой Google Docs API → Enable (нужен, только если будешь работать с документами)
Если ссылка открылась в другом проекте — выбери нужный в шапке. Любой API можно найти и вручную: APIs & Services → Library.
Кнопка Enable включает API. Для Docs — то же самое на его странице.
Работаешь только с таблицами — хватит Sheets API. Docs API нужен для документов.
Шаг 3. Создать сервисный аккаунт
- Открой Service Accounts → Create Service Account (или сразу форму создания)
- Заполни Service account name (например
bot-writer) — ID подставится сам - Нажми Create and Continue
- Шаги «Grant access» и «Grant users access» пропусти (нажми Done): роли проекта не нужны, доступ к файлам дадим на следующих шагах
Заполни Service account name — ID и email подставятся сами.
После создания скопируй email сервисного аккаунта — он вида bot-writer@sheets-automation.iam.gserviceaccount.com. Понадобится на шаге 5.
Шаг 4. Скачать и сохранить JSON-ключ
Ключ заменяет сервисному аккаунту пароль: скрипт предъявляет его Google и получает доступ. Файл важнее самих таблиц — обращайся с ним как с паролем от банка.
- Открой Service Accounts и кликни на свой аккаунт
- Вкладка Keys → Add Key → Create new key
- Тип — JSON → Create — файл скачается сам
Вкладка Keys → Add key → Create new key, формат JSON.
Куда положить ключ. Не оставляй его в папке проекта и не клади в облачные папки (iCloud, Google Drive, Dropbox, OneDrive) — оттуда он утекает незаметно. Правильное место — отдельная папка в твоём профиле, доступная только тебе. У gspread для этого есть стандартный путь, который библиотека читает сама:
- macOS / Linux:
~/.config/gspread/service_account.json - Windows:
%APPDATA%\gspread\service_account.json
Проще всего попросить нейросеть: «перенеси скачанный ключ в ~/.config/gspread/service_account.json и закрой к нему доступ для остальных» — она сделает это сама. Если хочешь вручную, на macOS / Linux это делается такими командами:
# создать папку и перенести скачанный ключ
mkdir -p ~/.config/gspread
mv ~/Downloads/ИМЯ_ФАЙЛА.json ~/.config/gspread/service_account.json
# доступ к файлу — только у твоего пользователя
chmod 600 ~/.config/gspread/service_account.json
На Windows файл в %APPDATA% уже доступен только твоей учётной записи — достаточно положить его туда под именем service_account.json.
⚠️ Ключ открывает доступ ко всем файлам сервисного аккаунта. Правила безопасности:
- Храни вне репозитория — в
~/.config/gspread/(см. выше), а не рядом с кодом.- Никогда не коммить в Git. Если ключ всё же оказался в папке проекта — добавь
service_account.jsonв.gitignore. Но это подстраховка, а не замена правильному месту хранения.- Не пересылай в чаты, почту, скриншоты, таск-трекеры.
- Давай минимум прав. Открывай доступ только к нужным файлам и только «Редактор» (или «Просмотр», если скрипт лишь читает). Не делай один ключ «на всё» — заведи отдельный сервисный аккаунт под каждую задачу.
- Ротация. Подозреваешь утечку — удали ключ на вкладке Keys и создай новый, старый сразу перестанет работать. Неиспользуемые ключи удаляй.
Для сервера или продакшена. Скачанный JSON-ключ — долгоживущий секрет, он не истекает сам. Для скрипта на своём компьютере это нормально. Для сервера безопаснее хранить путь к ключу в переменной окружения
GOOGLE_APPLICATION_CREDENTIALS(сам файл — вне репозитория), а в облаке — использовать Workload Identity и не скачивать ключ вовсе. Google рекомендует именно так.
Шаг 5. Дать сервисному аккаунту доступ к файлу
Без этого шага скрипт не увидит файл и упадёт с ошибкой PermissionError.
- Открой нужную таблицу на sheets.google.com (или документ на docs.google.com)
- Нажми Поделиться (Share)
- Вставь email сервисного аккаунта (
...@...iam.gserviceaccount.com) - Поставь права Редактор (Editor)
- Сними галочку «Уведомить пользователя» — сервисному аккаунту письмо не нужно → Отправить
Email сервисного аккаунта добавлен с правами Editor (Редактор).
Одному сервисному аккаунту можно дать доступ к сотням файлов — бесплатно. С каким работать, скрипт определяет сам (см. ниже).
Шаг 6. Попросить нейросеть написать скрипт
Здесь ты ничего не программируешь. Открой Claude Code (или другого AI-ассистента) и опиши словами, что нужно сделать. Нейросеть сама подберёт библиотеки (gspread для таблиц, google-api-python-client для документов), напишет код и запустит его.
Дай ей два ориентира:
- какой файл заполнять — пришли ссылку на таблицу или документ. В ссылке
docs.google.com/spreadsheets/d/1AbC...xyz/editвыделенная часть — это ID таблицы, самый надёжный ориентир; - что именно сделать — какие данные, в какие колонки, с каким форматированием и формулами.
Пример запроса нейросети:
«Напиши и запусти скрипт на Python с gspread. Ключ сервисного аккаунта лежит в
~/.config/gspread/service_account.json. Возьми данные из (источник) и заполни таблицу (ссылка): колонки A–C — дата, клиент, сумма; сумму форматируй в рублях; итог в последней строке формулой=SUM().»
Чем точнее опишешь результат — тем меньше правок потом.
Как выглядит готовый скрипт. Писать его тебе не нужно — нейросеть сделает это сама. Показываем для примера, чтобы ты видел: это короткие и понятные строки.
import gspread
# ключ берётся из ~/.config/gspread/service_account.json автоматически
gc = gspread.service_account()
sh = gc.open_by_key("1AbC...xyz") # таблица по ID из ссылки
ws = sh.sheet1
ws.update("A1", [["Дата", "Клиент", "Сумма"]])
ws.append_row(["2026-07-01", "ООО Ромашка", 15000])
Для Google Docs всё так же, только нейросеть возьмёт библиотеку google-api-python-client. Достаточно попросить: «пусть скрипт ещё вставит такой-то текст в этот Google-документ (ссылка)».
Форматирование и формулы — тоже на нейросеть
Через API нейросеть управляет не только данными, но и видом таблицы:
- формат ячеек — цвет фона, жирный шрифт, границы, числовой и денежный формат;
- формулы —
=SUM(B2:B10),=ВПР(...)и любые другие; в ячейку они пишутся обычным текстом; - объединение ячеек, закрепление строк, условное форматирование.
Опиши, как должна выглядеть таблица, — нейросеть соберёт нужные запросы.
Подключаем источник данных
Скрипт настроен — теперь к нему можно подключить любой источник, чтобы данные попадали в таблицу без твоего участия:
- Telegram-бот — отправляешь сообщение или файл, он раскладывает данные по таблице;
- выгрузка из CRM или банка — скрипт читает CSV и заполняет отчёт;
- форма или письмо — новая заявка добавляется строкой.
Один раз настроил связку «источник → таблица» — и заполнение перестаёт отнимать время.
Частые ошибки
PermissionError/403при открытии файла. Ты не дал сервисному аккаунту доступ к файлу (Шаг 5) или поставил «Просмотр» вместо «Редактора».
APIError: ... has not been used in project .../403 SERVICE_DISABLED. Не включён Sheets API или Docs API (Шаг 2). Открой Library и нажми Enable.
FileNotFoundErrorпри запуске. Скрипт не нашёл ключ — проверь, что файл лежит именно в~/.config/gspread/service_account.json.
SpreadsheetNotFoundприopen("Название"). Опечатка в названии или доступ открыт другому сервисному аккаунту. Надёжнее открывать по ID черезopen_by_key().
Что дальше
Сервисный аккаунт — основа для десятков сценариев: автоотчёты, договоры из шаблона, дашборды, которые сами обновляются. Принцип всегда один: дал доступ к файлу → дал скрипту ключ → описал результат нейросети. Время, которое раньше уходило на ручное заполнение, освобождается под другое.
Готовый промпт
Не хочешь вникать в шаги — скопируй промпт ниже, подставь свои данные в квадратных скобках и вставь нейросети (например, в Claude Code). Она проведёт тебя по настройке и всё сделает сама.
# Роль
Ты — инженер по автоматизации и мой наставник. Я не программист, поэтому:
— объясняй каждый шаг простыми словами, без жаргона;
— всю техническую работу (терминал, установка библиотек, код) выполняй сам;
— шаги, которые я делаю в браузере, описывай по одному и жди моего подтверждения, прежде чем продолжить.
# Задача
Настроить автозаполнение Google Sheets (при необходимости — Google Docs) через сервисный аккаунт Google и заполнить мой файл.
# Вводные
- Ссылка на файл: [вставь ссылку на Google-таблицу или документ]
- Источник данных: [опиши: файл, текст, выгрузка из CRM или банка и т.п.]
- Нужный результат: [колонки, формат, формулы — например: A–C = дата, клиент, сумма в рублях; итог = SUM в последней строке]
# Порядок работы (после каждого шага жди моего подтверждения)
1. Google Cloud Console: создать проект и включить Google Sheets API (и Docs API, если нужны документы). Давай прямые ссылки на нужные экраны консоли и говори, куда нажимать.
2. Создать сервисный аккаунт и сгенерировать JSON-ключ.
3. Настроить ключ безопасно — сделай это сам:
• перенеси файл в ~/.config/gspread/service_account.json;
• ограничь доступ командой chmod 600;
• не оставляй ключ в папке проекта и облачных папках, не добавляй в Git.
4. Дай мне email сервисного аккаунта и напомни выдать ему доступ «Редактор» к файлу через кнопку «Поделиться».
5. Установи нужные библиотеки, напиши и запусти скрипт, заполни файл с требуемым форматированием и формулами.
# Требования
- Минимум прав: работай только с указанным файлом.
- После запуска проверь результат и покажи, что получилось.
- При ошибке объясни причину простыми словами и предложи, как исправить.
# В конце
Объясни коротко, как повторить заполнение в следующий раз.
7 модулей, 21 урок — от идеи до работающего продукта в проде.