← К шаблонам n8n

Подключение Google Sheets к n8n

Нужно для шаблонов W3 и W4. Идём через сервисный аккаунт — это проще, чем OAuth: не нужен экран согласия Google, и всё стабильно работает на локальном n8n (localhost).

Идея простыми словами: сервисный аккаунт — это «робот-пользователь» Google с собственным email. Ты один раз создаёшь его, скачиваешь для него ключ-файл, и расшариваешь на его email нужную таблицу — как расшарил бы коллеге. n8n входит этим роботом и пишет в таблицу.

Часть 1. Google Cloud — проект и API

1

Создай проект в Google Cloud

Открой console.cloud.google.com (войди своим Google-аккаунтом). Вверху слева — Select a project → New Project → задай имя, напр. mktflow-n8nCreate. Дождись создания и выбери проект.

📷 screens/01-project.png
Окно «New Project» с именем проекта
Скриншот 1 — создание проекта
2

Включи два API

Меню (☰) → APIs & Services → Library. Найди и включи Google Sheets API, затем так же — Google Drive API (Drive нужен, чтобы n8n находил и открывал таблицы).

📷 screens/02-enable-apis.png
Страница Google Sheets API с кнопкой Enable
Скриншот 2 — включение Sheets API и Drive API

Часть 2. Сервисный аккаунт и ключ

3

Создай сервисный аккаунт

Меню (☰) → IAM & Admin → Service AccountsCreate service account. Имя, напр. n8n-sheetsCreate and continue → роли можно пропустить → Done.

📷 screens/03-create-sa.png
Форма Create service account с именем n8n-sheets
Скриншот 3 — создание сервисного аккаунта
4

Скачай JSON-ключ

Открой созданный сервисный аккаунт → вкладка KeysAdd key → Create new key → тип JSONCreate. Файл .json скачается на компьютер — он понадобится в n8n.

Это секрет. JSON-ключ = доступ к твоему сервисному аккаунту. Не выкладывай его и никому не пересылай. Потеряешь — просто создай новый ключ, старый удали.
📷 screens/04-json-key.png
Keys → Add key → Create new key → JSON
Скриншот 4 — создание JSON-ключа
5

Скопируй email сервисного аккаунта

На странице сервисного аккаунта скопируй его email — он вида n8n-sheets@ИМЯ-ПРОЕКТА.iam.gserviceaccount.com. Он нужен для следующего шага.

📷 screens/05-sa-email.png
Email сервисного аккаунта (…iam.gserviceaccount.com)
Скриншот 5 — email сервисного аккаунта

Часть 3. Доступ к таблице и n8n

6

Дай сервисному аккаунту доступ к таблице

Открой свою Google-таблицу (ту, с которой работает workflow) → кнопка Share (Настройки доступа) → вставь email сервисного аккаунта из шага 5 → права Editor (Редактор) → Send.

Почему это обязательно: без шаринга n8n получит ошибку «нет доступа» — сервисный аккаунт видит только те таблицы, которые ему явно расшарили.
📷 screens/06-share.png
Окно Share таблицы с добавленным email сервисного аккаунта (Editor)
Скриншот 6 — шаринг таблицы на сервисный аккаунт
7

Заведи credential в n8n

В n8n открой ноду Google Sheets → создай credential → тип Service Account. Открой скачанный JSON-файл текстовым редактором и вставь из него:

  • Service Account Email — значение поля client_email;
  • Private Key — значение поля private_key целиком (вместе с -----BEGIN PRIVATE KEY----------END PRIVATE KEY-----).

Сохрани — Save.

📷 screens/07-n8n-cred.png
Credential Service Account в n8n: email + private key
Скриншот 7 — credential Service Account в n8n
8

Выбери таблицу и запусти

В ноде Google Sheets укажи свою таблицу (по ссылке/ID) и нужный лист → Execute step. Если строки записались/прочитались — всё работает.

📷 screens/08-run.png
Нода Google Sheets: выбрана таблица/лист и зелёный результат прогона
Скриншот 8 — успешный прогон Google Sheets

Частые проблемы

Готово. Один сервисный аккаунт можно использовать для всех своих таблиц — просто расшаривай на его email каждую новую таблицу.