Предварительная настройка Google-таблицы
Для добавления данных в Google-таблицу потребуется предварительная настройка доступа в ней. Для этого перейдите в таблицу и в правом верхнем углу выберите Настройки доступа. В параметрах доступа укажите Все, у кого есть ссылка.
Добавление скрипта для работы с данными
Добавьте функцию получения данных и декодирования строковых переменных. Для этого:
- Выберите в Google-таблице пункт меню Расширения и далее - Apps Script.
- Напишите функцию для обработки полученных данных.
В примере ниже в качестве данных передается две переменные:
- userName – строковый тип данных;
- phone – целый тип данных.
Текст функции:
function doPost(request) {
const {userName, phone} = request.parameter //получение параметров
const sheet = SpreadsheetApp.getActiveSheet() //получение активного листа
const lastRow = sheet.getLastRow() + 1 //получаем последнюю строчку таблицы
let text //переменная в которую запишем раскодированный текст
text = userName.split("-"); // разбивает строку на массив строк, используя заданный разделитель
let newArr = []; //объявляем пустой массив для записи результата
for (let j = 0; j < text.length; j++) { //перебор элементов массива
newArr.push(String.fromCharCode(text[j])) //по коду получаем символ и записываем его в массив
}
newArr=newArr.join('') //преобразует и объединяет все элементы массива в одно строковое значение
sheet.getRange(`A${lastRow}`).setValue(newArr) //вывод значения переменной newArr в столбец А
sheet.getRange(`B${lastRow}`).setValue(phone) //вывод значения переменной newArr в столбец B
return "Все хорошо!"
}
- Начните развертывание.
Для этого:
- Нажмите Начать развертывание и далее — Новое развертывание.
Каждое изменение функции требует новое развертывание.
- Выберите тип развертывания — Веб-приложение.
- При появлении окна с запросом доступа нажмите Предоставить доступ.
- Нажмите Начать развертывание.
- Скопируйте URL в поле Веб-приложение. Ссылка имеет следующий вид:
https://script.google.com/macros/s/AKf....
. - Добавьте к скопированной ссылке параметры и присвойте значения переменным:
https://script.google.com/macros/s/AKf...?userName={{$session.userName}}&phone={{$session.phone}}
.
Создание HTTP-запроса к Google-таблице (POST)
Перейдите в личный кабинет Studio и откройте проект SaluteBot на инструменте Graph.
Добавьте в проект блоки для ввода имени и телефона.
На отдельный экран добавьте блок JS-код для кодирования строковой переменной и вставьте туда следующий код при обязательном соблюдении табуляции:
$session.userName=[];
for (var i = 0; i < $session.name.length; i++) {
$session.userName.push($session.name.charCodeAt(i));
}
$session.userName = $session.userName.join('-')
На этот же экран добавьте блок HTTP-запроса.
В поле URL вставьте ранее полученную ссылку.
В результате данные, полученные из чат-бота, будут добавлены в Google-таблицу.