Как отдать заполнение Google Sheets и Docs нейросети

2026-07-016 просмотров

Настроим сервисный аккаунт Google и научим нейросеть заполнять и форматировать таблицы и документы. Один раз настроил — дальше любой отчёт, прайс или договор собирается одной просьбой. Настройка занимает ~15 минут.


Зачем: заполнять и форматировать Google Sheets и Docs руками — долго и однообразно. Эту работу можно отдать нейросети: она запишет данные, посчитает формулы и оформит таблицу. Нужно один раз дать скрипту доступ к твоим файлам — для этого у Google есть сервисный аккаунт.

Настройка одноразовая: сделал один раз — дальше сервисный аккаунт работает бесплатно с любым числом таблиц и документов.


Что такое сервисный аккаунт

В обычный аккаунт ты заходишь сам — вводишь логин, пароль и код подтверждения. У сервисного аккаунта пароля нет: вместо тебя в Google ходит скрипт. Он предъявляет ключ-файл и получает доступ к тем файлам, которые ты ему открыл.

У сервисного аккаунта есть:

  • свой email вида name@project-id.iam.gserviceaccount.com — на него ты открываешь доступ к файлам;
  • ключ-файл (JSON) вместо пароля — им скрипт подтверждает, что это он;
  • доступ только к тем файлам, которые ты ему дал.

Принцип тот же, что с обычным человеком: дал доступ к файлу → скрипт с ключом читает и меняет его. Не дал — доступа нет.


Важно перед началом. Программировать не нужно. Где ниже встречаются команды в терминале или код — можно не делать их руками, а просто попросить нейросеть словами, и она всё выполнит: наберёт команды, напишет и запустит скрипт. Мы показываем их, чтобы ты понимал, что происходит. А если вникать в шаги совсем не хочется — в конце есть готовый промпт: скопируй, подставь ссылку на таблицу и вставь нейросети.


Шаг 1. Создать проект в Google Cloud

  1. Открой консоль Google Cloud и войди в свой Google-аккаунт
  2. Открой форму нового проекта → console.cloud.google.com/projectcreate (или вверху нажми на список проектов → New Project)
  3. Назови проект (например sheets-automation), нажми Create
  4. Дождись создания и выбери этот проект в списке вверху — дальше все шаги делаем внутри него

Список проектов и кнопка New project справа сверху.

Проект — это контейнер для настроек. Пока ты пользуешься только Sheets и Docs API, он бесплатный: их лимитов хватает с запасом.

Ссылки на экраны консоли ниже открываются в выбранном проекте — держи нужный проект выбранным в шапке.


Шаг 2. Включить Sheets API и Docs API

По умолчанию эти API выключены. Включи их вручную, иначе скрипт получит ошибку доступа.

  1. Открой страницу Google Sheets API → нажми Enable (Включить)
  2. Открой Google Docs APIEnable (нужен, только если будешь работать с документами)

Если ссылка открылась в другом проекте — выбери нужный в шапке. Любой API можно найти и вручную: APIs & Services → Library.

Кнопка Enable включает API. Для Docs — то же самое на его странице.

Работаешь только с таблицами — хватит Sheets API. Docs API нужен для документов.


Шаг 3. Создать сервисный аккаунт

  1. Открой Service AccountsCreate Service Account (или сразу форму создания)
  2. Заполни Service account name (например bot-writer) — ID подставится сам
  3. Нажми Create and Continue
  4. Шаги «Grant access» и «Grant users access» пропусти (нажми Done): роли проекта не нужны, доступ к файлам дадим на следующих шагах

Заполни Service account name — ID и email подставятся сами.

После создания скопируй email сервисного аккаунта — он вида bot-writer@sheets-automation.iam.gserviceaccount.com. Понадобится на шаге 5.


Шаг 4. Скачать и сохранить JSON-ключ

Ключ заменяет сервисному аккаунту пароль: скрипт предъявляет его Google и получает доступ. Файл важнее самих таблиц — обращайся с ним как с паролем от банка.

  1. Открой Service Accounts и кликни на свой аккаунт
  2. Вкладка KeysAdd KeyCreate new key
  3. Тип — JSONCreate — файл скачается сам

Вкладка KeysAdd 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.

  1. Открой нужную таблицу на sheets.google.com (или документ на docs.google.com)
  2. Нажми Поделиться (Share)
  3. Вставь email сервисного аккаунта (...@...iam.gserviceaccount.com)
  4. Поставь права Редактор (Editor)
  5. Сними галочку «Уведомить пользователя» — сервисному аккаунту письмо не нужно → Отправить

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 урок — от идеи до работающего продукта в проде.

Открыть практикум