Как получить данные из таблицы Google в чат-ботах
Если вы используете Google таблицы как хранилище данных о контактах, заказах или складских сведений о товарах, вам может понадобиться передача информации из них в чат-боты, чтобы пользователи получали актуальные сообщения.
В статье рассмотрим, как настроить получение данных из таблиц Google в блок Запрос API в цепочке чат-бота с помощью интеграции с Google Sheets API и SendPulse.
SendPulse также предлагает прямую интеграцию с Google Sheets. Подробнее.
Настройка аккаунтов и доступа
Чтобы использовать таблицы 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).
Обновлено: 12.07.2024
или