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

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

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

Для интеграции потребуется сначала настроить Google-аккаунт и саму Google-таблицу. Пошаговая инструкция ниже.

Настройки в Google

Настройки Google-таблицы:

  • Создайте Google-таблицу, из которой потом будете считывать данные.
  • В настройках доступа таблицы укажите тип доступа «Все, у кого есть ссылка» и роль «Редактор».

  • Для настройки «Внешнего запроса» скопируйте ID таблицы из ссылки страницы с таблицей. ID — это длинная комбинация букв, цифр и символов. В ссылке страницы с таблицей ничего похожего больше нет, для примера смотрите скриншот ниже.

Как настроить аккаунта в Google и получить API key:

1. Зайдите в console.cloud.google.com под аккаунтом, в котором находится нужная Google-таблица.

2. Создайте новый проект:

  • Нажмите на кнопку «Select a project» в верхнем левом углу.
  • В открывшемся окне нажмите на кнопку «New project» в верхнем правом углу.

  • В открывшейся вкладке задайте имя проекта и нажмите «CREATE».

  • После вас перенаправят на предыдущую страницу, и через несколько секунд проект будет создан.
  • Опять нажмите на кнопку «Select a project» в верхнем левом углу и выберите только что созданный проект. Теперь вы работаете в этом проекте.

3. Активируйте API и получите API key:

  • Нужно активировать методы API, которые позволят считывать данные из таблицы. Для этого откройте левую панель навигации и перейдите в раздел «APIs & Services».
  • В открывшейся странице нажмите на кнопку «+ ENABLE APIS AND SERVICES» в верхней части экрана.
  • В открывшейся странице «API Library» прокрутите вниз до раздела «Google Workspace», найдите и нажмите на иконку «Google Sheets API».

  • Далее нажмите на кнопку «ENABLE». Через несколько секунд этот API активируется, и вас перенаправят на следующую страницу.
  • На открывшейся странице нажмите кнопку «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» через макрос выводим пользовательское поле, в которое будут записываться данные, считанные из Google-таблицы.

2. Настройка «Внешнего запроса»:

  • В блоке «Действие» выберите «Внешний запрос» из списка действий и откройте окно для настройки «Внешнего запроса», нажав на «карандаш».

  • Поставьте тип запроса GET.
  • В поле «URL-адрес» вставьте ссылку:

https://sheets.googleapis.com/v4/spreadsheets/{%id гугл-таблицы%}/values/{%адрес ячейки или диапазона в таблице%}?key={%API key%}

  • В ссылку подставьте свои данные:
    • ID Google-таблицы, из которой нужно считывать данные вместо {%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, полученным из Google-таблицы.

Полная инструкция по действию «Внешний запрос» здесь: ссылка.

Частые вопросы

  • Можно ли при формировании ссылки использовать переменные?

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

  • Если в зависимости от условий, которые формируются в цепочке бота, нужно запросить значения тех или иных ячеек, — каким образом внутри бота можно сформировать адрес ячейки?

Можно вставить адрес для ячейки R3C2, где R3 — третья строка (row 3), C2 — второй столбец (column 2). В поле «number» подписчика записывать нужное значение перед нужным шагом бота.


Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите в Telagram BotHelpSupportBot или на почту hello@bothelp.io 

Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp.

Получить 14 дней бесплатно

Была ли статья полезна?

Спасибо за обратную связь!