為了方便資料的維護,及跨平臺的目標,我們採用了 Google 的試算表當資料的儲存空間,程式則是用 Google Apps Script 來開發。
系統運作大致如下:
前置作業:
試算表的部份
- 在試算表中建置一個名為「users」的工作表
- users 第一個欄位為 NFC tag 的 ID (格式建議設為文字,以免零開頭的編號被省略)。
- users 第二個欄位為學員的姓名。
Apps Script 的部份
- 填入試算表的 Google DOC ID。
- 在程式碼中加入所有課程的清單。
程式主要流程:
- 選定講堂進行的課程,送出課程代碼給程式。
- 學員刷卡,送出卡號給程式。
- 在試算表中「users」工作表的第一欄中搜尋和卡號一樣的那一行。
- 在以課程代碼為名的工作表中登錄學員的卡號、姓名及簽到的時間;如果簽到資料已存在就以新資覆蓋。
- 在刷卡頁面顯示學員姓名及歡迎詞,並等待下一個人刷卡。
如果沒有 NFC 貼紙和讀卡機怎麼玩?沒關係,可以用 Barcode scanner 加條碼;再沒有,就手動輸入編號即可玩了。
下面看看如何在自己的 Google 雲端硬碟中建置這個簡易的簽到系統。
建立試算表的副本
第一個步驟當然是先在自己的 Google Drive 中把東西複製過去,才能寫入自己的資料。1.先登入 Google 帳號。
2.開啟底下的連結 :
- https://docs.google.com/spreadsheets/d/1EnmZBDnQBp5CephPiYUpuOcKkz35qOY3V-U-CIkPuNI/edit?usp=sharing
3.點選試算表上方主選單 [檔案] 中的 [建立副本]。
4.出現「複製文件」的對話框後,可以重新命名,並選定要儲存的位置,最後按 [確定] 鈕。
完成以上的步驟就會複製一份試算表到自己的 Google Drive 中囉!
建立 Apps Script 的副本
1.先登入 Google 帳號2.開啟底下的連結 :
3.在開啟的 Apps Script 中點選上方主選單 [檔案] 中的 [建立副本]。
完成以上的步驟即可複製一份 Apps Script 到自己的空間囉!
修改 Apps Script
在新建立的 Apps Script 的副本中,代表試算表檔案的「ID」內容(變數 sheet_id),還是舊試算表檔案的,所以需要先查出自己新建立的副本檔案 ID;另外課程代碼及課程標題也可以自行修改為需要的內容。底下來看看怎麼更換試算表的 ID:1.查出試算表的 ID:打開 Google 的試算表以後,我們可以在網址中看到它的 ID
2.在網址列中複製試算表的 ID ,並在簽到系統的 Apps Script 中,把程式碼裡的 sheetId 變數內容置換成新副本的。
3.按上方工具列中的「磁片圖示」來儲存修改過的內容。
接著就可以準備第一次的發佈及權限的授權。
發佈 Apps Script
Google 的 Apps Script 可以針對需求做不同的「佈署」,由於本次的工具是以網頁的方式在運作,所以我們必須選擇「佈署為網路應用程式」。另外,當我們執行或發佈程式時,程式裡使用的資源如果未經授權,過程中會跳出授權的頁。底下來看看如何進行第一次的發佈及授權。
1.點選上方主選單 [發佈] 中的 [佈署為網路應用程式]
2.新增版本,並輸入註記文字
3.按一下 [更新] 鈕後,因為是第一次發佈,會出現「需要授權」的訊息。想繼續玩就按 [核對權限] 的按鈕。
4.選擇帳號
5.按一下左下方的「進階」
6.按一下左下方的 [前往「......」(不安全)] 的連結。(如果看不到,記得往下捲動捲軸)
7.按 [允許] 鈕來授權
完成第一次的授權程序以後,程式就佈署完畢,可以開始測試了。
是不是每一次改過程式都要重新發佈一次呢?
可以試著重新再點一下上方主選單 [發佈] 中的 [佈署為網路應用程式] ,並觀察一下紅色和綠色箭頭個地方的網址有何不同?
如果複製紅色箭頭的網址來觀察,它最後是以「exec」結束;但複製綠色箭頭所指的連結網址來看,它的最後卻是以「dev」結束。
「exec」結尾的網址是正式發佈的,而「dev」的則是測試時用的。前者必須儲存並更新版本序號以後才會執行最新的程式碼;而後者則只要儲存即可以測試最新的程式碼。
後來應原禎之前提過的需求,另外改了一支程式,刷完卡就開啟對應連結。檔案一併分享在下方,有興趣的可以自己試試:
- https://docs.google.com/spreadsheets/d/1mSNXRixbGzr3KfMQLcZxTD7uT-ApjMM8WVRRcpBt0NU/edit?usp=sharing
- https://script.google.com/d/1UCGQjXMZKRRRinCFCwOGBCBbhZqh_cnaPkagv5ckQPVa31RGCTg9NNTk/edit?usp=sharing
上面簡單的分享,如果您有更好的版本,也可以一起來分享。
分享、共好~航向偉大的航道~~
相關文章
- 張原禎‧大學塾‧社群混成協作開發NFC應用
http://163.20.119.100/f2blog/index.php?load=read&id=2481 - Google Apps Script 參考手冊
https://developers.google.com/apps-script/
怎麼查詢簽到名單?
回覆刪除您好:
刪除簽到的記錄通通在Google的試算表中。
您好,請問要如何更改成,若已經報到的人又重新感應時,會顯示已報到呢?
回覆刪除