Google

Подготовка сервисного аккаунта

Перейдите по ссылке для начала работы.

  1. Создаем проект

2. Придумайте название, но НЕ указывайте организацию. Нажмите Create

3. Проверьте права доступа: должен быть уровень доступа “owner”

4. Перейдите во вкладку Service Accounts и создайте сервисный аккаунт Create Service Account.

Укажите имя в первом пункте:

Выставьте права Owner во втором пункте и пропустите третий. Нажимаем Done.

Сохраните имя полученного аккаунта - оно нам понадобится при предоставлении доступа к файлу (документу, таблице, форме... и тд)

5. После создания аккаунта перейдите в его настройки и подготовьте ключ. Выберите Manage keys.

Создайте новый ключ. Выберите параметр JSON в качестве сохранения.

Сохраните сервисный ключ в любом удобном месте - это “Ключ доступа”, с помощью которого будет предоставлен доступ к Google-документам.

Храните файл с ключом в надежном месте, потому что этот ключ невозможно восстановить в случае утери.

6. Далее переходите к подключению API-сервисов.

Подключение API-сервисов. Google Drive API

Для этого перейдите в главное меню:

Необходимо выбрать “APIs & Services”, далее “Enabled Api’s and services” и нажать "enable Apis and services".

Включите нужные нам сервисы APi - Google Drive Api и Google Docs API (не забудьте развернуть список)

Подключаем. Если на этом этапе картинка будет не такая, как на скрине, то обновляем страницу “F5”. Жмём “Enable”

Подключилось.

Далее подключите сервис в соответствии со своей надобностью:

- Для работы через сервисный аккаунт с таблицей - Google Sheets API,

- с календарем - Google Calendar API и т.д.

Подключение API-сервисов. Google Sheets API

Только теперь выбираем Google-Sheets API

Подключилось.

На этом настройки аккаунта закончены.

Предоставление доступа к документу через сервисный аккаунт

  1. Перейдите в Настройки доступа

2. Откройте доступ к файлу (документу, таблице, форме и тд) с правами редактора. Для этого укажите имя сервисного аккаунта, который вы сохраняли на 4-ом шаге создания сервисного аккаунта. Снимите выбор "Уведомление пользователей" и укажите права "Редактор". Нажмите Отправить

Проверяем:

В дальнейшей работе вам потребуется ID файла, который мы копируем из адресной строки

Предоставление доступа к таблице через сервисный аккаунт

Аналогично процедуре настройки доступа к документу через сервисный аккаунт:

Перейдите в Google-таблицу и нажмите “Настройки доступа” в правом верхнем углу:

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

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

Нажмите “Открыть доступ” и проверьте на всякий случай

Теперь скопируйте ID таблицы. Оно вам пригодится сейчас.

Предоставление доступа к файлу (документу, таблице, форме и тд) для бота из проекта Salebot (подключение сервисного аккаунта для работы бота)

  1. Перейдите в свой проект и создайте серый блок - "Не состояние"

  2. В настройках вложений прикрепите файл сервисного ключа, полученный при создании сервисного аккаунта. Сохраните блок.

Откройте вложенный документ: для этого щелкните на иконке документа. В открывшемся окне заберите ссылку из адресной строки:

3. Перейдите в настройки проекта и добавьте переменную docs_json_keys в константы. В качестве значения укажите скопированную из адресной строки ссылку в формате [“ссылка”] - в нашем случае значение будет следующим: ["https://files.zmservice.ru/uploads/message/file/48/dynamic-mystery-367310-0377023 d3e26.json"]

Нажимаем “Готово”

Как работать через свой аккаунт

По умолчанию конструктор работает с собственными сервисными аккаунтами для доступа к вашим таблицам, поэтому вам необходимо выдавать доступ на редактирование по ссылке. Чтобы обеспечить достаточный уровень безопасности, вы можете передавать json с аутентификационными данными.

У гугл-таблиц есть лимиты на количество запросов в единицу времени. Чтобы не зависеть от лимитов, вы можете использовать свой аккаунт.

Каждая функция по работе с таблицами принимает creds_path - необязательный параметр: путь или url к вашему файлу, содержащему сервисные данные для авторизации в таблице.

Самый простой путь получения такого url - загрузить файл с данными в конструктор.

Для этого нужно создать блок первостепенной проверки условия, в условие которого вписать любой набор знаков, а во вложения - положить файл с сервисными данными (как его получить - читайте ниже), включив вывод ссылкой. После этого вам будет достаточно в тестовом чате вызвать данный блок - он в ответ пришлет вам нужную ссылку.

Чтобы файл даже случайно не оказался у посторонних - после получения ссылки измените тип блока на состояние диалога.

Останется только скопировать ссылку из тестового чата и указать ее в параметрах запроса, передавая полученный URL в параметре creds_path (подробнее - читайте ниже).

Например: {"id": "id таблицы", "client_type": "#{client_type}", "show": "количество результатов для вывода", "creds_path": "УРЛ_вашего_json_файла_с_ключом"}

Подготовка сервисного аккаунта

Перейдите по ссылке.

Шаг 1. Создайте проект

Необходимо придумать название для проекта:

Перезагрузите страницу, нажав “F5”

Шаг 2. Проверьте права доступа. Должно быть Полное -”Owner”

Шаг 3. Теперь перейдите в “Настройки”

Найдите вкладку “Сервисные аккаунты”:

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

Придумайте аккаунту любое название и нажмите “продолжить”

Шаг 4. Далее выберите “Роль”. Она должна быть “Owner”, т.е. “Полная” - Владелец.

Нажмите “Продолжить” и далее “DONE”, т.е. “Закончить”

После вы увидите созданный аккаунт

Шаг 5. Скопируйте свой адрес сервисного аккаунта.

ВНИМАНИЕ! Обязательно сохраните себе его название. Оно понадобится нам в дальнейшем.

Шаг 6. Теперь необходимо создать ключ безопасности. Жмём на 3 точки и выбираем “Manage keys”

Переходим в “Keys” “Добавить новый ключ”

Создаётся закрытый ключ для "SaleBot_1" Скачиваем файл, содержащий закрытый ключ.

Скачайте ключ куда удобно. Главное запомнить куда. Это “Ключ доступа”, с помощью которого в дальнейшем будете давать доступ к вашим Google-таблицам Храните файл с ключом в надежном месте, потому что этот ключ невозможно восстановить в случае утери.

Шаг 7. Теперь необходимо добавить API-интеграции. Для этого заходим сюда.

Выбираем “APIs & Services”, далее “Dashboard”.

Это “Доска”, на которой можно выбрать подключаемые сервисы: мы подключим два. Это Google-таблицы, и Google-драйв. Нажимаем “Подключить API”

Можно выбрать в Поиске, а можно найти нужный сервис, прокрутив страницу ниже

Подключаем. Если на этом этапе картинка будет не такая, как на скрине, то обновляем страницу “F5”. Жмём “Enable”

Подключилось.

Теперь повторяем тоже самое для Google-таблиц.

Только теперь выбираем Google-Sheets API

Подключилось.

На этом настройки аккаунта закончены.

Шаг 8. Теперь переходим в Google-таблицу.

Нажимаем “Настройки доступа” в правом верхнем углу

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

Вставляем название. Убираем “галочку” Уведомления, и проверяем, чтобы было выбрано “Редактор”

Нажмите “Открыть доступ” и проверьте:

Теперь копируем ID таблицы. Оно нам пригодится сейчас.

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

Создайте блок с первостепенной проверкой условия. В условии напишите “ключ”. В настройках вложений выбираем файл ключа, который мы сохраняли выше.

Обязательно сохраните. Перейдите в тестирование бота: набираем ключевое слово, которое записывали в Условии (в нашем случае “ключ”) и получите ссылку:

Скопируйте ссылку.

Теперь необходимо сделать запрос в таблицу. Создайте ещё один блок с первостепенной проверкой условия, который запускается по команде “старт”. В тексте сообщения выводим переменную #{custom_answer}

Сделаем запрос “mapping”, т.е. построчно запишем некий текст.

Формируем запрос

Выбираем Post-json, а в поле "JSON параметры" записываем параметры запроса:

{"id": "ид таблицы", "mapping": { "a": "Проверка" }, "list_name": "Лист1", "creds_path": "Путь к вашему файлу с данными для авторизации" }

В “creds_path” прописываем ссылку, которую вы получили при тестировании, когда набирали стартовую команду “ключ”

И вставляем ID-таблицы

И вставляем это в JSON параметры. В url запроса прописываем функцию из документации для функции mapping

Обязательно сохраните новый блок с настройками.

Теперь протестируйте. Наберите команду “старт”:

Вы увидите, что всё работает. Наш тестовый текст “Проверка” записался во вторую строку. Проверяем таблицу.

Всё нормально записалось. на этом Настройка аккаунта, и тестирование закончено.

Видеоинструкция

Last updated