可以選擇網路或本地題庫檔的評量系統 與 自動將考試結果傳送到Google試算表的作法教學

這是一個可以選擇網路或本地題庫檔(.json)評量系統,交卷後,本地會存有「考試結果」,教師如果有設置Google Apps Script,也會自動傳送到指定的 Google試算表,從此不必複製貼上,也不用再請學生email回傳考試結果,以下是介紹和作法教學:


自動回傳成績到 Google 試算表的設定步驟說明:

1.創建Google試算表:

  • 創建一個新的Google試算表,命名為“考試結果”。
  • 將第一個工作表重命名為“Results”。
  • 在“Results”工作表的第一行創建標題:“日期”,“評量名稱”,“姓名”,“分數”,“錯誤題目”。

2.設置Google Apps Script:

  • 打開你的Google試算表,點擊擴充功能 -> App Script。
  • 刪除預設程式碼,並貼上以下程式碼:
function doPost(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Results');
var data = JSON.parse(e.postData.contents);
var date = new Date();
var quizName = data.quizName || '';
var name = data.name || '';
var score = data.score || '';
var incorrectAnswers = data.incorrectAnswers.map(function(ia) {
return ia.question;
}).join(', ');
sheet.appendRow([date, quizName, name, score, incorrectAnswers]);
}


 

3.部署Web應用程式:

  • 點擊部署 -> 新建部署。
  • 選擇網路應用程式。
  • 填寫描述,例如“記錄考試結果”。
  • 設置應用程式執行的權限為任何人。
  • 點擊部署。
  • 記下部署後的URL,將其填入HTML程式碼中的scriptURL。

4.更新HTML和JavaScript程式碼:

  • 確保sendToGoogleSheet函數中的scriptURL使用的是你剛才部署的Google Apps Script的URL:

function sendToGoogleSheet(result) {
const scriptURL = 'https://script.google.com/macros/s/YOUR_SCRIPT_ID/exec'; // 修改為你的Google Apps Script的URL
fetch(scriptURL, {
method: 'POST',
mode: 'no-cors',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(result)
}).then(response => console.log('Success!', response))
.catch(error => console.error('Error!', error.message));
}




這樣,你的評量系統就可以自動將考試結果傳送到Google試算表


附註:

第一版介紹:https://clongwh.blogspot.com/2024/07/blog-post_17.html

留言