Учетные записи службы Google
Настройте учетные записи службы Google с делегированием на уровне домена для Gmail, Sheets, Drive, Calendar и других сервисов Google
Учетные записи службы Google с делегированием на уровне домена позволяют вашим рабочим процессам получать доступ к API Google от имени пользователей в вашем домене Google Workspace — без необходимости прохождения каждым пользователем процесса согласия OAuth. Это идеально подходит для автоматизированных рабочих процессов, которым необходимо отправлять электронные письма, читать электронные таблицы или управлять файлами по всей вашей организации.
Например, вы можете создать рабочий процесс, который проходит по списку сотрудников, действует от имени каждого из них для чтения их документов Google Docs и загружает содержимое в общую базу знаний — все это без необходимости входа в систему ни одного из этих пользователей.
Предварительные требования
Прежде чем добавить учетную запись службы в AACFlow, вам необходимо настроить ее в Google Cloud Console и Google Workspace Admin Console.
1. Создайте учетную запись службы в Google Cloud
Перейдите в Google Cloud Console и выберите свой проект (или создайте новый)
Перейдите в IAM & Admin → Service Accounts
Нажмите Создать Service Account, дайте ей имя и описание, затем нажмите Создать и Continue

Пропустите необязательные шаги назначения ролей и доступа пользователей и нажмите Done
Нажмите на только что созданную учетную запись службы, перейдите на вкладку Keys и нажмите Добавить Key → Создать новый key
Выберите JSON в качестве типа ключа и нажмите Create. Файл ключа JSON будет загружен — сохраните его в безопасном месте

Файл ключа JSON содержит приватный ключ вашей учетной записи службы. Относитесь к нему как к паролю — не добавляйте его в систему контроля версий и не делитесь им публично.
2. Включите необходимые API
В Google Cloud Console перейдите в APIs & Services → Library и включите API для сервисов, которые будут использовать ваши рабочие процессы. См. справочник по областям ниже для полного списка API по сервисам.
3. Настройте делегирование на уровне домена
В Google Cloud Console перейдите в IAM & Admin → Service Accounts, нажмите на вашу учетную запись службы и скопируйте Client ID (цифровой идентификатор, а не email)
Откройте Google Workspace Admin Console и перейдите в Security → Access и data control → API controls
Нажмите Управлять Domain Wide Delegation, затем нажмите Добавить new
Вставьте Client ID из вашей учетной записи службы, затем добавьте области OAuth для сервисов, которые нужны вашим рабочим процессам. Скопируйте полные URL областей из справочника по областям ниже — авторизуйте только области для сервисов, которые вы планируете использовать.

Нажмите Authorize
Делегирование на уровне домена должно быть настроено администратором Google Workspace. Если вы не являетесь администратором, отправьте Client ID и необходимые области вашему администратору.
Справочник по областям
В таблице ниже перечислены все сервисы Google, которые поддерживают аутентификацию через учетную запись службы в AACFlow, API для включения в Google Cloud Console и области делегирования для авторизации. Скопируйте строку области для каждого необходимого сервиса и вставьте ее в Google Workspace Admin Console.
| Сервис | API для включения | Области делегирования |
|---|---|---|
| Gmail | Gmail API | https://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.labels |
| Google Sheets | Google Sheets API, Google Drive API | https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.file |
| Google Drive | Google Drive API | https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.file |
| Google Docs | Google Docs API, Google Drive API | https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.file |
| Google Slides | Google Slides API, Google Drive API | https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.file |
| Google Forms | Google Forms API, Google Drive API | https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/forms.bodyhttps://www.googleapis.com/auth/forms.responses.readonly |
| Google Calendar | Google Calendar API | https://www.googleapis.com/auth/calendar |
| Google Contacts | People API | https://www.googleapis.com/auth/contacts |
| BigЗапрос | BigЗапрос API | https://www.googleapis.com/auth/bigзапрос |
| Google Tasks | Tasks API | https://www.googleapis.com/auth/tasks |
| Google Vault | Vault API, Cloud Storage API | https://www.googleapis.com/auth/ediscoveryhttps://www.googleapis.com/auth/devstorage.read_only |
| Google Groups | Admin SDK API | https://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.group.member |
| Google Meet | Google Meet API | https://www.googleapis.com/auth/meetings.space.createdhttps://www.googleapis.com/auth/meetings.space.readonly |
Вам нужно включить API и авторизовать области только для сервисов, которые вы планируете использовать. При авторизации нескольких сервисов объедините их строки областей через запятые в одной записи в Admin Console.
Добавление учетной записи службы в AACFlow
После настройки Google Cloud и Workspace добавьте учетную запись службы как учетные данные в AACFlow.
Откройте Settings вашего рабочего пространства и перейдите на вкладку Integrations
Найдите "Google Service Account" и нажмите Connect

Вставьте полное содержимое вашего файла ключа JSON в текстовую область

Дайте учетным данным отображаемое имя (по умолчанию используется email учетной записи службы)
Нажмите Save
Файл ключа JSON проверяется на наличие обязательных полей (type, client_email, private_key, project_id) и шифруется перед сохранением.
Использование делегированного доступа в рабочих процессах
Когда вы используете блок Google (Gmail, Sheets, Drive и т.д.) в рабочем процессе и выбираете учетные данные учетной записи службы, под селектором учетных данных появляется поле Impersonate User Email.
Введите email-адрес пользователя Google Workspace, от имени которого должна действовать учетная запись службы. Например, если вы введете alice@yourcompany.com, рабочий процесс будет отправлять электронные письма от имени Alice, читать ее электронные таблицы или получать доступ к ее календарю — в зависимости от авторизованных вами областей.

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

