Как с помощью бесплатного сервера рассчитать учеников по порядку
Поднять сервер -> Использовать код
Этот способ применялся на практике следующим образом: ученикам выдали некие номера от 1 до числа участников, а потом через рандомайзер в прямом эфире выбрали номер победителя. Возможно, вы найдете ему и другое применение, однако как минимум для таких розыгрышей он неплохо подойдет
1. Создайте таблицу и сервер в App Script по инструкции по поднятию сервера. Остановитесь на пункте 3, где мы могли вставить код:
function doGet(e) {
// Открываем активную таблицу и выбираем активный лист
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Получаем количество строк (для определения автоинкремента)
var lastRow = sheet.getLastRow();
// Определяем новое значение автоинкремента
var newId = lastRow > 0 ? sheet.getRange(lastRow, 1).getValue() + 1 : 1;
// Получаем текущую дату
var currentDate = new Date();
// Получаем userID из GET-параметра
var userID = e.parameter.userID || "No ID provided";
// Добавляем новую строку
sheet.appendRow([newId, currentDate, userID]);
// Возвращаем значение автоинкремента
return ContentService.createTextOutput(newId.toString());
}
3. Разверните проект по инструкции с этим кодом. Если у вас уже был развернут проект по инструкции, вы можете переразвернуть его с имеющимся кодом. Для этого нажмите "управление развертываниями"
и "новая версия". Когда выберите новую
4. Копируйте ссылку под надписью "Веб-приложение"
Теперь допишите к этой ссылке гет-параметр с переменной геткурса, чтобы можно было передавать пользовательский айди. Если процесс по заказу, то выглядеть будет так:
https://script.google.com/macros/s/AKfycbxMfqQPK4dHB0zUOYnHI8Csst29y-ehTyVYID3YIUcnmoB6BT2JUzicQLua_pqxAuG3/exec?userID={object.user.uid}
Если процесс по пользователю, то получится что-то типа такого:
https://script.google.com/macros/s/AKfycbxMfqQPK4dHB0zUOYnHI8Csst29y-ehTyVYID3YIUcnmoB6BT2JUzicQLua_pqxAuG3/exec?userID={object.uid}
5. В процессе не забудьте выбрать опцию "сохранить ответ в допполе"
Протестируйте процесс, поставив галочку "выполнять по-настоящему"
В табличке появится новая запись с датой. После тестирования удалите заполненные строки, и тогда отсчет вновь пойдет с единицы