Как использовать сценарии приложений для автоматизации в Google Sheets
20 января 2024 г.Постановка нашей задачи:
Требование отправить пациенту текстовое сообщение в виде SMS-сообщения, когда для него назначена запись на прием и он зарегистрирован в Google Таблицах.
Пример данных:
Шаг 1. Добавьте кнопку на лист Google
Вставить -> Рисование
Шаг 2. Создайте пользовательскую функцию, которую можно будет активировать нажатием кнопки.
Расширения -> Скрипт приложений
Шаг 3. Код для отправки SMS о встречах
function myFunction() {
n varsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('appoinments');
n ja
n / / 2-мерный массив для данных листов
n var data =sheet.getDataRange().getValues();
n var timeZone = Session.getScriptTimeZone()
n n n < code>for (var i = 1; i < data.length; i++) { n n // условие для отправки сообщения тому, кому мы еще не отправили сообщение, и первый столбец не пуст
> n if (data[i][4] != "done" && data[i][0] != "") {
n var date = Utilities.formatDate (data[i][2], timeZone, 'дд-ММ-гггг')
n var time = Utilities.formatDate(data[i][3], timeZone, 'ч:мм а' )
n var name = data[i][0]
n var phonenumber = data[i][1]
n n Logger.log(" date: "+date)
n Logger.log("time: "+time)
n Logger.log("name: "+ name)
n < code>Logger.log("phonenumber: "+phonenumber) n n // API для отправки SMS (любой провайдер)
n // Нажмите API для отправки SMS
n // var url = `Поместите сюда URL-адрес вашего SMS-провайдера`
n n // var response = UrlFetchApp.fetch(url);
n // var json = response.getContentText();
n // устанавливаем статус «Выполнено», чтобы мы больше не отправляли сообщения для тех же встреч
n sheet.getRange(i + 1, 5).setValue ('готово')
n n
n
Шаг 4. Запустите и дайте разрешения.
Нажмите «Дополнительно» в левом нижнем углу:
Нажмите «Перейти к проекту без названия».
Нажмите «Разрешить»:
Мы видим логи, как и ожидалось:
Теперь мы видим, что в столбце статуса установлено значение «Готово».
Шаг: Прикрепите функцию к кнопке.
Нажмите кнопку > назначить сценарий > напишите имя функции, которую мы только что создали.
Теперь добавьте в таблицу новые встречи и оставьте статус встречи пустым. Когда мы нажмем на кнопку «Отправить сообщение», будет отправлено SMS, а статус обновится в таблице.
Поделитесь этим со всеми, кому, по вашему мнению, это принесет пользу. Есть предложения или вопросы? Пишите мне в LinkedIn.