Я показываю оценки каждому из моих учеников, используя таблицы Google и публикуя их с помощью редактора сценариев. Могу ли я сделать то же самое с производителем приложений Google? - PullRequest
0 голосов
/ 16 января 2019

Google объявил, что служба пользовательского интерфейса Apps Script будет прекращена в июле следующего года. В моей школе некоторые учителя используют Google зачетные книжки вместе с кодом сценариев приложения, чтобы публиковать оценки в виде веб-страницы, чтобы каждый ученик мог видеть только свои оценки. Если в следующем учебном году это больше не сработает, нам нужно найти новый способ сделать то же самое. Google предлагает использовать Google App Maker.

Так как я учитель, а не разработчик, я понятия не имею, как использовать App maker. Я готов учиться, если это лучший способ решить проблему.

Но прежде чем я потрачу много времени на обучение использованию нового инструмента, я был бы очень признателен, если бы вы сказали мне, что то, что мы делаем с помощью скрипта приложений, можно сделать с помощью приложения Google производитель.

Буду очень признателен, если вы покажете мне, как начать перенос кода скрипта в App maker.

Это образец листа Google, который мы используем в качестве зачётной книжки: https://docs.google.com/spreadsheets/d/1Id3-5o6JpNJWkHWUjOSWaJ3PLRveOdYoAynURxzNYFE/edit?usp=sharing

Это код, который мы используем в редакторе скриптов листов Google:

//Script-as-app template.
function doGet() {
var app = UiApp.createApplication();

return app;
}

function myClickHandler(e) {
var app = UiApp.getActiveApplication();

app.close();
return app;
}

var ss = SpreadsheetApp.openById('1Id3-5o6JpNJWkHWUjOSWaJ3PLRveOdYoAynURxzNYFE');//Put your spreadsheet key here
var sh1 = ss.getSheetByName('StudentGrades');//Meta sheet name
var logsheet = ss.getSheetByName('logsheet');
var data = sh1.getDataRange().getValues();
var user = Session.getEffectiveUser()
Logger.log(user)

function doGet() {
var app = UiApp.createApplication().setTitle('English Grades - Teacher: Anna C');//App title
 if(!getcol(user)){
 var warn = app.createLabel().setWidth('400').setText("Your results are not available or your email is not in the list. Please contact your teacher.");
// if user is not in the list, warning + return
app.add(warn)
return app
      }
var grid = app.createGrid(data.length, 3).setWidth('900px').setBorderWidth(1).setCellPadding(6).setCellSpacing(6).setStyleAttribute('borderCollapse','collapse').setId('grid');
//Overall table styling
var text = app.createLabel(user).setWidth('250px');
var col = getcol(user)
grid.setWidget(0,1,text).setText(0, 0, 'ENGLISH RESULTS FOR');
for(n=1;n<data.length;++n){
     grid.setText(n, 0, string(data[n][0]));
     grid.setText(n, 1, string(data[n][1]));
     grid.setText(n, 2, string(data[n][col]));         

     //FIRST ROW HEADER (Dark blue background) - row 0
     grid.setRowStyleAttributes(0, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'bold',color: "#fff",'background':'#384c80','border':'1px solid #c0c0c0'});

     //COURSE-JUNE-SEPTEMBER MARKS (Dark red background) - rows 288,294,298
     grid.setRowStyleAttributes(250, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'bold',color: "#fff",'background':'#900202','border':'1px solid #c0c0c0'});

     //TERMS-TERM MARKS (Orange background) - rows 5,105,202,289,291,293
     grid.setRowStyleAttributes(5, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'bold',color: "#fff",'background':'#ff953f','border':'1px solid #c0c0c0'});

     //SUMMER-1ST T MARKS (Orange bold font)
     grid.setRowStyleAttributes(20, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'bold',color: "#ff953f",'background':'#fff','border':'1px solid #c0c0c0'});

     //DIMENSIONS MARKS (Dark blue bold font)
     grid.setRowStyleAttributes(54, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'bold',color: "#384c80",'background':'#fff','border':'1px solid #c0c0c0'});

     //Level B green exercises (Dark green font)
     grid.setRowStyleAttributes(30, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'normal',color: "#009A46",'background':'#fff','border':'1px solid #c0c0c0'});

     //Level A red exercises (Red font)
     grid.setRowStyleAttributes(45, {fontFamily: "Verdana, sans-serif",'textAlign':'left','fontWeight':'normal',color: "#ff0000",'background':'#fff','border':'1px solid #c0c0c0'});
   }
   app.add(grid);
   return app
}

function string(value){
Logger.log(typeof(value))
if (typeof(value)=='string'){return value};// if string then don't do anything
if (typeof(value)=='number'){return Utilities.formatString('%.2f',value)};// if number then format with 2 decimal
if (typeof(value)=='object'){return Utilities.formatDate(value, Session.getTimeZone(), "MM-dd")};//object >> date in this case, format month/day
return 'error'
}

function getcol(mail){
if(data[0].toString().indexOf(mail.toString())!=-1){
for(zz=1;zz<data[0].length;++zz){
if(data[0][zz] == mail){var colindex=zz;break}
}
return colindex
}
return false
}

И это то, что наши студенты видят после того, как они войдут в свою учетную запись gmail. Они видят свои результаты как веб-страницу. (Я создал образец письма учащегося, чтобы показать вам, что он видит).

Перейти к https://script.google.com/a/jverdaguer.com/macros/s/AKfycbwGmZr-UVw1hAtkyQEM8mqax1UkiKEGrF1wCOE/exec и войдите в систему с помощью почтового адреса samplestudent@jverdaguer.com и пароля sstudent2018

1 Ответ

0 голосов
/ 16 января 2019

Что касается службы пользовательского интерфейса , в документации Служб Google говорится: Deprecated. The UI service was deprecated on December 11, 2014. To create user interfaces, use the HTML service instead.

Служба HtmlService жива и исправна без признаков устаревания или заката вдокументация.Существует также UI Class , который позволяет создавать оповещения, приглашения и настраиваемые диалоговые окна и доступен через SpreadsheetApp и DocumentApp и, возможно, другими способами, с которыми я не знаком.

Существуетнет никаких признаков того, что Google Apps Script исчезнет.Я часто использую скрипт Google Apps в App Maker.

Я согласен, что было бы неплохо начать заменять использование устаревшей функциональности как можно скорее.

...