Как с помощью бесплатного сервера рассчитать учеников по порядку
Поднять сервер -> Использовать код
Этот способ применялся на практике следующим образом: ученикам выдали некие номера от 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. В процессе не забудьте выбрать опцию "сохранить ответ в допполе"
Протестируйте процесс, поставив галочку "выполнять по-настоящему"
В табличке появится новая запись с датой. После тестирования удалите заполненные строки, и тогда отсчет вновь пойдет с единицы