Как получить данные из таблицы Google в чат-ботах
Если вы используете Google таблицы как хранилище данных о контактах, заказах или складских сведений о товарах, вам может понадобиться передача информации из них в чат-боты, чтобы пользователи получали актуальные сообщения.
В статье рассмотрим, как настроить получение данных из таблиц Google в блок «Запрос API» в цепочке чат-бота с помощью интеграции с Google Sheets API и SendPulse.
Настройка аккаунтов и доступа
Чтобы использовать таблицы Google Sheets для передачи данных, вам понадобится настроить проект в Google Cloud Console и открыть доступ к документу с базой данных.
Подготовка к подключению
Зайдите в консоль Google Cloud под своим Google аккаунтом, создайте новый проект или выберите существующий из списка. Задайте в проекте название и родительскую организацию, если требуется.
Подключите Google Sheets API
В разделе «API и сервисы» (APIs & services) выберите «Подключенные API и сервисы» (Enabled APIs & services). Нажмите кнопку «Включить API и сервисы» (Enable APIs & services) и перейдите в библиотеку интеграций.
Найдите в каталоге «Google Sheets API» и нажмите «Включить» (Enable).
Создайте ключ API
Перейдите в раздел «API и сервисы» (APIs & services) > «Учетные данные» (Credentials) и нажмите «Создать учетные данные» (Create credentials). В выпадающем списке выберите «Ключ API» (API key).
Вы получите сообщение о создании ключа. Вы можете скопировать его сразу или вернуться позже.
Мы рекомендуем сразу ограничить использование ключа только для интеграции с таблицами. Для этого нажмите на три точки напротив имени ключа, откройте «Редактировать» (Edit) и в пункте «Ограничения API» (API restrictions) укажите Google Sheets API.
Настройте доступ к файлу с таблицей
Откройте доступ к файлу на просмотр по ссылке или добавьте сервисный аккаунт вашего проекта Google Cloud в список пользователей, которые могут просматривать документ с таблицами.
Настройка цепочки чат-бота
Добавьте блок «Запрос API»
Чтобы использовать значения, собранные в таблице, вам нужно сформировать URL адрес следующего вида:
https://sheets.googleapis.com/v4/spreadsheets/{sheet_id}/values/{sheet_name}!{range}?key={api_key}
Параметры, которые используются в адресе:
Параметр | Описание |
sheet_id |
ID таблицы*, который вы можете скопировать из адреса URL. |
sheet_name |
Название листа в таблице; например, Contacts или Sheet1 . |
range |
Координаты ячейки или ячеек, из которых берутся данные запроса в формате нотации Google Sheets; например, E1:F21 . |
api_key |
Ваш ключ API из настроек проекта в Google Cloud. |
* Например, у таблицы с URL адресом
https://docs.google.com/spreadsheets/d/18H_kz3wXduyqjOW_J0Yuv8FKur5Cd0Wb8s9nEMRC3Ps/edit#gid=91581876
,
ID — 18H_kz3wXduyqjOW_J0Yuv8FKur5Cd0Wb8s9nEMRC3Ps
.
Добавьте в цепочку блок «Запрос API», выберите GET метод для запроса и вставьте в поле ссылки сформированный URL адрес.
Вы можете протестировать получение запроса с помощью кнопки «Проверить запрос», а затем полученные данные использовать для «Настройки соответствий».
Для этого нажмите кнопку «Добавить» и в «Поле ответа» выберите значение из полученного ответа на запрос: в поле оно будет выведено в виде ссылки в формате JSON Path {{$['somekey']['nestedkey']}}.
В соседнем поле выберите переменную из аудитории чат-бота, куда нужно импортировать значения, чтобы использовать их в последующих элементах.
Сохраните результат и настройте следующие блоки
Также полученные данные можно использовать в сообщениях в виде ссылки JSON Path. Вы можете скопировать ссылку в «Поле ответа», не сохраняя.
Но нужно учитывать, что передача значения в JSON Path возможна только в блоке, следующем сразу после «Запроса API», поэтому если вы хотите использовать данные несколько раз, сохраните их.
Такие данные можно использовать в блоках «Фильтр» и «Сообщение» так же, как и другие переменные.
Читайте также: «Как передавать данные из бота в Google приложения» (на примере интеграции с Make).
Обновлено: 28.02.2023
Регистрация через соцсети
Войти через Facebook Войти через Google