iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0

這不是一篇教你怎麼用GAS腳本寫出完美Web App的教學文,而是一個走向失敗實作的探險日誌:從資料還在Excel的時代開始,你可以想像神秘的公式、奇怪的regex,並滿懷期待踏入doGet的迷宮。

前言

昨天(Day16)分享了我身為客服人員,在實務上如何使用現代數位工具來改善業務流程;今天則終於要回到程式設計,接著來聊我失敗的嘗試:doGet

正文

※ 為了後續陳述時不會與GAS環境的Web App混淆,接下來統一把我開發給客服團隊使用的Web Apps稱為客服工具箱

優先級排序

在維護不同版本的客服工具箱時,我會建立一個簡單的backlog表,把需要做的、想做的開發事項,加上其它欄位如期限、進度、效益、入口文件等等,方便我自己一覽與評估應當優先執行哪個項目。

以昨天(Day16)的案例來說,如果以提高整個客服團隊的生產力為目標,那麼應優先投入資源在:

  1. 教育訓練如何使用試算表,以替代缺乏脈絡的零碎資訊,並建立共筆規範。
  2. 推廣使用客服工具箱,以減少營業損失。

不過,今天要分享的具體實作,與上述無關,不會涉及到stakeholders協商,僅為個人的維護流程優化:試算表更新 => 客服工具箱更新這個小環節。[^1]

當前維護流程

  1. 手動:更新試算表
  2. 自動:透過試算表的公式,將需要導入客服工具箱的資料做初步轉換
  3. 手動:使用regex101將資料進一步轉換成JavaScript格式
  4. 手動:將資料貼上客服工具箱
  5. 手動:重新部署客服工具箱

優化方案評估

當時我僅僅就自己腦中的零碎資訊做評估:

一、我想起以前跟一位網友閒聊時,看了他的side project,有用一個csv轉json的套件:PapaParse

二、用GAS環境的simple triggerdoGet拿試算表的資料。[^2]

當時覺得doGet當然是比較好的選擇[^3],少一個把試算表轉成csv的步驟。

我只要:

  1. 先把該試算表從Excel轉到Google Sheet
  2. 寫GAS腳本
  3. 寫Node.js腳本

以後就可以直接從Google Sheet抓資料,不用再手動貼上。

預期優化後之維護流程

  1. 手動:更新試算表
  2. 自動:客服工具箱向Google Sheets發送HTTP GET請求
  3. 自動:GAS環境call doGet
  4. 自動:doGetreturn 客人資料
  5. 自動:客服工具箱get最新的客人資料

於是我就決定用下班時間先於side project上試試看doGet

後話

在寫到當前維護流程前,我先痛苦地瀏覽了散亂於各處的開發文件[^4],還有GitHub上客服工具箱的程式碼,只覺得哇……我真的是在回顧黑歷史。

這是什麼土炮的做法?用Excel公式+regular expression轉格式太有創意了吧?那時真的很侷限於前GenAI時代的思考方式,都只用自己學過的方式來實作😅

Annotations

[^1]: 在當時,我覺得那是自己完全可控,只要投入時間,就一定可以有實際成果的優化項目。

[^2]: 可參閱第一週(Day05)對於保留函式的簡介。

[^3]: 有讀第一週文章的讀者,應該很清楚我在這一步就做錯了哈哈哈……

[^4]: 雖然有一個入口文件,盡可能作為目錄連結其它文件,但撰文時爬梳起來依然覺得像迷宮💫


上一篇
Day16|實作回顧:建置Web App
系列文
我只是不想加班:一名客服人員的GAS自救之路17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言