Гайды

Сервисный аккаунт Гугла для n8n

Как подготовить сервисный аккаунт Гугла для n8n: выбрать проект, включить API, скачать JSON-ключ и открыть таблицу или папку на client_email.

Сервисный аккаунт нужен, когда автоматизация должна работать сама, без входа в личный Гугл-аккаунт каждый раз. Например, n8n записывает заявки в таблицу, читает файл из папки, обновляет отчет или запускает сценарий по расписанию.

На выходе у вас будет JSON-ключ и почта сервисного аккаунта. Эту почту нужно добавить в доступы к таблице или папке, а ключ передать разработчику защищенным сообщением.

Когда подходит сервисный аккаунт

Выбирайте этот вариант, если автоматизация должна работать 24/7, не зависеть от входа в личный аккаунт и иметь доступ только к нужным файлам.

Для ручной работы одного человека иногда проще OAuth. Но для бота, парсера, n8n-сценария или регулярной интеграции сервисный аккаунт обычно спокойнее - доступ можно ограничить конкретной таблицей, папкой или общим диском.

Что понадобится

  • доступ в Google Cloud;
  • существующий проект или право создать новый проект;
  • права на включение API в выбранном проекте;
  • права на создание сервисного аккаунта и ключа;
  • таблица, документ или папка, куда нужно дать доступ;
  • защищенный канал, чтобы передать JSON-ключ разработчику.

Не создавайте ключ просто для проверки. В этом гайде скрины показывают маршрут, но финальное создание ключа нужно делать только тогда, когда понятно, кому и зачем он передается.

Шаг 1. Откройте Гугл Клауд и выберите проект

Зайдите в Google Cloud Console и откройте раздел IAM & Admin -> Service Accounts.

Если проект еще не выбран, Гугл покажет карточки недавних проектов. Выберите проект, который относится к нужной автоматизации.

Выбор проекта в Google Cloud Console

Проекты на скрине закрыты. В вашем кабинете нужно выбрать реальный проект, где будет жить сервисный аккаунт.

Если проекта нет, его можно создать кнопкой Create project. Но для клиентской работы лучше сначала уточнить у разработчика, нужен ли новый проект или уже есть рабочий.

Шаг 2. Включите нужные API

Откройте APIs & Services -> API Library.

Раздел API Library в Google Cloud

В этом разделе включаются сервисы, к которым будет обращаться автоматизация.

Для таблиц найдите Google Sheets API. Если n8n будет работать с файлами, документами или папками на Диске, дополнительно включите Google Drive API.

Страница Google Sheets API в Google Cloud

Если на кнопке написано Manage, API уже включен. Если написано Enable, нажмите ее для нужного проекта.

Для Google Docs и Google Slides в n8n обычно нужен Google Drive API вместе с API самого сервиса. Это важно, если сценарий будет искать, читать или обновлять файлы на Диске.

Шаг 3. Откройте список сервисных аккаунтов

Вернитесь в IAM & Admin -> Service Accounts.

Список сервисных аккаунтов в Google Cloud

В списке видны сервисные аккаунты проекта. Почта аккаунта на скрине закрыта, потому что ее нельзя светить публично.

Нажмите Create service account.

Кнопка Create service account в Google Cloud

Кнопка создания находится над таблицей сервисных аккаунтов.

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

В форме создания задайте понятное имя. Например, для автоматизации заявок можно назвать аккаунт n8n leads sheets. Имя должно помогать потом понять, зачем этот доступ был создан.

На шаге с ролями не выдавайте лишние права на весь проект, если задача только в таблице или папке. Часто достаточно создать аккаунт без широкой роли в проекте, а доступ к конкретной таблице или папке дать через кнопку Share в Гугл Диске.

После создания откройте новый сервисный аккаунт и перейдите во вкладку Keys.

Шаг 5. Скачайте JSON-ключ

Во вкладке Keys нажмите Add key.

Вкладка Keys у сервисного аккаунта

Здесь создаются ключи сервисного аккаунта. Если ключей нет, в таблице будет пусто.

В меню выберите Create new key, затем тип JSON.

Меню Add key и пункт Create new key

На скрине показан путь до создания ключа. Финальную кнопку Create нажимайте только когда готовы сохранить файл.

После создания файл скачается один раз. Повторно скачать тот же приватный ключ нельзя. Если файл потерян, старый ключ нужно удалить и создать новый.

Сразу уберите файл из папки загрузок в безопасное место. Не отправляйте его в общий чат, публичный документ, репозиторий или скриншот.

Шаг 6. Откройте таблицу или папку на email сервисного аккаунта

Откройте скачанный JSON-файл и найдите поле client_email. Это почта сервисного аккаунта.

Дальше откройте нужную таблицу, документ или папку на Гугл Диске. Нажмите Share, вставьте client_email и выберите право доступа.

  • Viewer - если автоматизация только читает файл;
  • Editor - если автоматизация должна добавлять строки, менять данные или создавать файлы.

Если доступ не выдать, n8n сможет подключиться по ключу, но не увидит нужный файл.

Что передать разработчику

Передайте только то, что нужно для подключения.

  • JSON-файл сервисного аккаунта;
  • ссылку на таблицу, документ или папку;
  • что именно можно делать - читать, писать, обновлять или создавать файлы;
  • если есть несколько листов в таблице - имя нужного листа;
  • если сценарий должен работать с папкой - ссылку на папку и нужный уровень доступа.

Ключ передавайте как пароль. Если в проекте есть .env, хранилище секретов или защищенный менеджер ключей, разработчик положит ключ туда, а не в код.

Важный нюанс с Гугл Диском и n8n

В документации n8n есть важное ограничение - сервисные аккаунты, созданные после 15 апреля 2025 года, больше не получают доступ к личному My Drive как обычный пользователь. Для новых сервисных аккаунтов нормальный путь - использовать shared drives или явно расшарить конкретные файлы и папки на client_email.

Если нужно, чтобы сервисный аккаунт работал как пользователь домена, это уже отдельная настройка через domain-wide delegation в Google Workspace. Для обычных клиентских автоматизаций ее лучше не включать без причины, потому что это расширяет права и риск.

Частые ошибки

  • выбрали не тот проект в верхней панели Гугл Клауда;
  • включили Google Sheets API, но забыли Google Drive API для файлов и папок;
  • создали ключ, но не открыли таблицу на client_email;
  • дали доступ только личному аккаунту, а не сервисному;
  • отправили разработчику скрин ключа вместо JSON-файла;
  • потеряли скачанный ключ и пытаются скачать его повторно;
  • выдали сервисному аккаунту лишние роли на весь проект;
  • ждут, что новый сервисный аккаунт сам увидит личный My Drive.

Проверка после подключения

После того как разработчик добавит ключ в n8n, лучше сделать короткий безопасный тест.

  1. Прочитать одну строку из таблицы.
  2. Добавить тестовую строку с нейтральным текстом.
  3. Проверить, что строка появилась в нужном листе.
  4. Удалить тестовую строку, если она больше не нужна.
  5. Если сценарий работает с папкой, проверить один тестовый файл.

Так сразу видно, что выбран правильный проект, API включены, ключ подходит, а доступ к таблице или папке выдан именно сервисному аккаунту.

Официальные источники

Если сервисный аккаунт нужен именно для таблиц, рядом пригодится гайд Гугл Таблицы и n8n. Если таблица должна быть простой панелью управления, посмотрите Гугл Таблицы как панель управления.

Обсудить задачу

Опишите задачу — предложу решение и ориентир по срокам.