Как через действие Внешний запрос считывать данные из гугл-таблицы и записывать их в пользовательские поля подписчика
Общее описание действия Внешний запрос и другие инструкции по его настройке и использованию можно найти тут: ссылка
Общее описание
Данная интеграция позволит Вам через действие Внешний запрос считывать данные из указанной гугл таблицы, чтобы в дальнейшем записать их в пользовательские поля подписчика. Записывать данные в гугл таблицу через действие Внешний запрос не получится.
Для интеграции потребуется предварительные настройки в Вашем google-аккаунте и самой гугл-таблице. Пошаговая инструкция описана ниже
Настройки в Google
Настройки гугл-таблицы:
- Создайте гугл-таблицу, из которой потом будете считывать данные
- В настройках доступа таблицы укажите тип доступа "Все, у кого есть ссылка" и роль "Редактор"
- Для настройки Внешнего запроса скопируйте id таблицы из ссылки страницы с таблицей. id - это длинная комбинация букв, цифр и символов. В ссылке страницы с таблицей ничего похожего больше нет, для примера смотрите скриншот ниже.
Настройки аккаунта в Google и получение API key:
1. Зайдите в console.cloud.google.com под аккаунтом, в котором находится нужная гугл-таблица
2. Создайте новый проект:
- Нажмите на кнопку "Select a project" в верхнем левом углу
- В открывшемся окне нажмите на кнопку "NEW PROJECT" в верхнем правом углу
- В открывшейся вкладке задайте имя проекта и нажмите "CREATE"
- После Вас перенаправит на предыдущую страницу и через несколько секунд проект будет создан
- Опять нажмите на кнопку "Select a project" в верхнем левом углу и выберите только что созданный проект. Теперь Вы работаете в этом проекте
3. Активируйте АПИ и получите API key:
- Нужно активировать методы АПИ, которые позволят считывать данные из таблицы. Для этого откройте левую панель навигации и перейдите в раздел "APIs & Services"
- В открывшейся странице нажмите на кнопку "+ ENABLE APIS AND SERVICES" в верхней части экрана
- В открывшейся странице "API Library" прокрутите вниз до раздела "Google Workspace", найдите и нажмите на иконку "Google Sheets API"
- Далее нажмите на кнопку "ENABLE". Через несколько секунд после нажатия этот АПИ активируется и вас перенаправит на следующую страницу
- На открывшейся странице нажмите кнопку "CREATE CREDENTIALS" в верхнем правом углу
- В открывшемся окне выберите свойство "User data" и нажмите "NEXT"
- В следующем разделе заполните поля: название вашего приложения и два поля с Вашей почтой. Нажмите "SAVE AND CONTINUE"
- Раздел "Scopes (optional)" не заполняем, нажмите "SAVE AND CONTINUE"
- В разделе "OAuth Client ID" в поле "Application type" укажите значение "Web application" и задайте имя. Нажмите на кнопку "CREATE"
- Через несколько секунд загрузится раздел "Your Credentials", после чего нажмите на кнопку "DONE". Вас перенаправит на предыдущую страницу
- В открывшейся странице в левой панели навигации перейдите на страницу "Credentials"
- Нажмите кнопку "+ CREARE CREDENTIALS" и выберете пункт "API key"
- Через несколько секунд API key будет сгенерирован. Скопируйте его, его нужно будет использовать при настройке Внешнего запроса
- Этот API key никуда не исчезнет, Вы сможете его скопировать позже в этом же разделе
Настройки бота в BotHelp
1. Настройка простой цепочки бота для отправки запроса и отображения полученных данных в пользовательском поле:
- Создайте цепочку бота из трех последовательных блоков:
- "Сообщение 1" ->"Действие 1" -> "Сообщение 2"
- В блоке "Сообщение 1" добавим просто текстовое приветствие
- В блоке "Действие 1" настроим Внешний запрос
- В блоке "Сообщение 2" через макрос выводим пользовательское поле, в которое буду записываться считанные данные из гугл таблицы
2. Настройка Внешнего запроса:
- В блоке Действие выберите "Внешний запрос" из списка действий и откройте окно для настройки Внешнего запроса, нажав на "карандашик"
- Тип запроса оставьте "GET"
- В поле URL-адрес вставьте ссылку:
https://sheets.googleapis.com/v4/spreadsheets/{%id гугл-таблицы%}/values/{%адрес ячейки или диапазона в таблице%}?key={%API key%}
- В ссылку подставьте свои данные
- id гугл таблицы, из которой нужно считывать данные вместо {%id гугл-таблицы%}
- адрес ячейки или диапазона (например, A1 или DJ22), откуда нужно считывать значения, вместо {%адрес ячейки или диапазона в таблице%}
- API key, полученный в настройках Вашего кабинета Google, вместо {%API key%}
- Итоговая ссылка должна выглядеть так:
- https://sheets.googleapis.com/v4/spreadsheets/1OttAA3aWMJe-KrvhLZsm3UD6u0tIvaC8/values/A1?key=AIz3X-zW-6H_oQdPY-XuzF_Kh4
- Такая ссылка будет возвращать значение ячейки А1
- Перейдите в раздел "Ответ", чтобы протестировать запрос и получить тестовый ответ. В тестовом ответе Вы сможете увидеть структуру тела ответа, которая понадобится для настройки сопоставления ответов (настройки сохранения в пользовательские поля)
- Нажмите кнопку "ОТПРАВИТЬ ЗАПРОС". В правой части отобразится полученный ответ. Откройте раздел "Тело ответа"
{
"range": "'Лист1'!A1",
"majorDimension": "ROWS",
"values":
[
[
"raz"
]
]
}
- Значение, которое записано в таблице лежит в поле "values". Само значение - "raz"
- Перейдите на вкладку "Сопоставление ответов", чтобы настроить логику записи полученных данных в пользовательское поле
- В поле JSON Path введите $.values.0.0
- Такое значение JSON Path вернет из тела ответа значение "raz"
- Подробная инструкция про JSON Path тут: ссылка
- В поле "Пользовательское поле" выберите поле, в которое необходимо сохранять полученное значение
- Готово. На этом настройки Внешнего запроса завершены
- Нажмите "Сохранить" в окне настройки Внешнего запроса, обязательно нажмите "Сохранить и закрыть" в окне настроек блока Действие
Теперь можно протестировать бота. От него придет два сообщения: приветственное и с полученным из гугл-таблицы значением ячейки А1
Полная инструкция по действию "Внешний запрос" тут: ссылка
Частые вопросы
1. Можно ли при формировании ссылки использовать переменные?
- Да. Можно. Во внешнем запросе поле для URL-адреса поддерживает макросы. Например, Вы можете запрашивать какое-то число у подписчика и записывать это значение в его поле. Далее, в ссылке запроса Вы можете формировать адрес ячейки, из которой нужно считать значение, с помощью макроса для поля подписчика. При отправке запроса макрос автоматически будет заменяться на конкретное значение, которое ранее ввел подписчик.
2. Если нужно в зависимости от условий, которые формируются в цепочке бота, запросить значения тех или иных ячеек. Каким образом можно внутри бота формировать адрес ячейки?
- Можно вставить такой адрес для ячейки: R3C2
где R3 - третья строка (row 3), C2 - 2 столбец(column 2)
В поле number подписчика записывать нужное значение перед нужным шагом бота
Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io 😃
Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp:
Получить 14 дней бесплатно