Как настроить стабильное подключение n8n к Google для клиентов

Раньше я с ужасом ждал еженедельных уведомлений от инстанса n8n.

Подключаешь Google Таблицу, настраиваешь ноду, всё работает отлично. Но ровно через семь дней прилетает ошибка авторизации. Заходишь, заново логинишься через браузер, и всё снова работает… до следующей недели.

Если это личные сценарии, это просто раздражает. Но если ты делаешь автоматизацию для клиентов, это выглядит непрофессионально. У них ломаются процессы, а ты тратишь время на бесплатную поддержку просто для того, чтобы продлить токен Google OAuth.

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

Ловушка 7 дней в OAuth

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

Но мало кто упоминает, что по умолчанию проекты в Google Cloud Console создаются в режиме «Testing» (Тестирование). В целях безопасности Google автоматически сбрасывает токены авторизации в этом режиме ровно через 7 дней.

Можно перевести проект в режим «In Production», но тогда при входе клиент увидит пугающий красный экран предупреждения: «Приложение не проверено Google. Это небезопасно». Чтобы убрать эту плашку, нужно проходить официальную верификацию Google с политикой конфиденциальности, видео-демонстрациями и неделями проверок. Для кастомных интеграций это делать нереально.

Профессиональный подход: Google Service Account

Вместо пользовательского OAuth для фоновых интеграций используют Google Service Account (сервисный аккаунт). Это специальный «бот-аккаунт» внутри вашего проекта Google Cloud. У него есть собственный email, он авторизуется через защищенный JSON-ключ, и его доступ никогда не сгорает.

Как мы это настраиваем:

  1. Создаем аккаунт: В Google Cloud Console переходим в IAM & Admin > Service Accounts и создаем новый аккаунт.
  2. Скачиваем JSON-ключ: Вкладка Keys -> Add Key > Create new key (выбираем JSON) и сохраняем файл.
  3. Включаем API: Находим в поиске консоли Google Sheets API (или Google Drive/Calendar) и нажимаем Enable.
  4. Настраиваем n8n: В n8n создаем новые Credentials, выбираем тип Google Service Account и переносим данные из скачанного JSON-файла.
  5. Делимся доступом: Копируем email сервисного аккаунта и добавляем его в права доступа нужной Google Таблицы или папки на Диске (в роли Редактора).

Почему это удобно для клиентов

Для клиента процесс выглядит максимально просто и понятно. Не нужно просить его личный логин и пароль от Google и не нужно созваниваться для авторизации через демонстрацию экрана.

Вы просто отправляете ему email сервисного аккаунта (например, [email protected]) и просите: «Просто поделитесь доступом к этой таблице с этим адресом, как поделились бы с коллегой».

Это выглядит профессионально, настраивается за 5 минут и работает вечно.

ilf.studio, AI-native веб-студия, Гданьск, Польша.