Интеграция с Гугл-таблицами через Внешний запрос

Как через действие Внешний запрос считывать данные из гугл-таблицы и записывать их в пользовательские поля подписчика

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

Общее описание

Данная интеграция позволит Вам через действие Внешний запрос считывать данные из указанной гугл таблицы, чтобы в дальнейшем записать их в пользовательские поля подписчика. Записывать данные в гугл таблицу через действие Внешний запрос не получится.

Для интеграции потребуется предварительные настройки в Вашем 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 дней бесплатно


👆 На этом пока всё