May 4, 2025

Скрипты Гугл.Скрипт


Вернуться в оглавление


Урок по использованию Гугл.Скрипт был на курсе ГетХелперс.
Скачала уроки себе на ноут. Название "Подборка шаблонов Google Script для различных задач_1" и есть еще часть 2.

Текстовая часть с самими скриптами.
1. Шаблон гугл-скрипта для выгрузки подписчиков, заказов или оплат построчно

Дополнение для замены существующего клиента новыми данными


2. Шаблон для выгрузки статистики путем прибавления к значению существующей ячейки единицы


3. Шаблон выгрузки статистики из сервисов автоматизации в конкретные ячейки

Шаблон гугл-скрипта для выгрузки подписчиков, заказов или оплат построчно

 function doGet(e)// Запрос методом GET, с передаваемыми параметрами в переменной e
 {
 var sheet = SpreadsheetApp.openById("ID таблицы"); // ID таблицы берется из адресной строки вашей гугл-таблицы.
 var SheetName = "Название листа"; // Название листа, в который вы будете выгружать данные
 var ST = sheet.setActiveSheet(sheet.getSheetByName(SheetName)); // Вызываем лист по названию из таблицы.
 var NewRow = sheet.getLastRow()+1; // Записываем номер следующей пустой строки после заполненной.
 ST.getRange("A"+NewRow).setValue(e.parameter.name); // здесь меняем названия параметров после e.parameter. Это названия, которые вы пропишете в сервисе, из которого будете делать запрос.
 ST.getRange("C"+NewRow).setValue(e.parameter.phone);
 ST.getRange("B"+NewRow).setValue(e.parameter.email);
 ST.getRange("D"+NewRow).setValue(e.parameter.vk_id);
 ST.getRange("F"+NewRow).setValue(e.parameter.price);
 ST.getRange("E"+NewRow).setValue(e.parameter.zakaz);
 ST.getRange("G"+NewRow).setValue(e.parameter.pay);
 ST.getRange("H"+NewRow).setValue(e.parameter.data);
 ST.getRange("I"+NewRow).setValue(e.parameter.lost);
 ST.getRange("J"+NewRow).setValue(e.parameter.utm_source);
 ST.getRange("K"+NewRow).setValue(e.parameter.utm_campaign);
 ST.getRange("L"+NewRow).setValue(e.parameter.utm_content);
 ST.getRange("M"+NewRow).setValue(e.parameter.utm_term);
 }

ДОПОЛНЕНИЕ для замены существующего клиента новыми данными

function doGet(e)
{
var sheet = SpreadsheetApp.openById("ID таблицы");
var SheetName = "Название листа";
var ST = sheet.setActiveSheet(sheet.getSheetByName(SheetName));
var r = ST.getRange('C:C'); // столбец, по которому будем определять дубли. У нас это будет столбец email
var v = r.getValues(); // Записываем в переменную значения всех ячеек в этом столбце
for(var i=v.length-1;i>=0;i--)
if(v[0,i]==e.parameter.email) // Если параметр email содержится среди найденных значений, то
ST.deleteRow(i+1); // удаляем всю строку.
var NewRow = sheet.getLastRow()+1; // получаем номер последней строки
ST.getRange("A"+NewRow).setValue(e.parameter.name); // прописываем новые параметры в новой пустой строке.
ST.getRange("B"+NewRow).setValue(e.parameter.email);
ST.getRange("C"+NewRow).setValue(e.parameter.phone);
}

Шаблон для выгрузки статистики путем прибавления к значению существующей ячейки единицы

Например, на GetCourse создаются заказы и с каждым заказом, в таблице в ячейке заказов, прибавляется 1.

Таким образом, это самый быстрый вариант выгрузки, т.к. не нужно прописывать таймеры или ключевые слова. Статистика обновляется сразу, как отработает процесс на Геткурсе.

function doGet(e)
{
var sheet = SpreadsheetApp.openById('ID таблицы');
var SheetName = 'Название листа';
var ST = sheet.setActiveSheet(sheet.getSheetByName(SheetName));
var cell = sheet.getRange("B4").getValue() ; // Получаем значение из ячейки, куда мы будем выгружать статистику по конкретному показателю.
ST.getRange("B4").setValue(cell + 1); // Прибавляем единицу напрямую в гугл-таблице.
}

Шаблон выгрузки статистики из сервисов автоматизации в конкретные ячейки

Можно выгружать количество подписок, например в Senler, количество отписавшихся, сколько написали ключевые слова, сколько заказов и т.д.

function doGet(e)
{
var sheet = SpreadsheetApp.openById(e.parameter.SpreadsheetID);
var SheetName = e.parameter.SheetName;
var ST = sheet.setActiveSheet(sheet.getSheetByName(SheetName));
ST.getRange("d2").setValue(e.parameter.podpiska);
ST.getRange("e2").setValue(e.parameter.otpiska);
}