身為專家,我建議你直接進入資料表的 Data > Columns 設定,找到存放條碼的 ISBN 欄位。在該欄位的細節設定中,你必須明確勾選 「Scan?」(或顯示為 Scan問號) 選項。這個小動作是所有自動化的起點;只有開啟此開關,AppSheet 才會在輸入框旁顯示掃描圖示,允許使用者調用手機鏡頭讀取 ISBN 條碼。重視這個 UI 優化細節,能讓資料輸入的效率從第一步就獲得解放。
秘訣二:腳本橋樑:GAS 才是真正的幕後推手
單靠 AppSheet 的原生功能無法直接與外部書籍 API(如 Google Books API)進行複雜的資料交換,因此我們需要透過 Google Apps Script (GAS) 作為中繼站。在開始設定自動化流程前,請務必先在 GAS 腳本中填入你申請的 API Key,這是呼叫服務的憑證。
Set Row Values (寫回數值):這是最容易卡關的地方。你必須使用 [步驟名稱].[欄位名稱] 的語法來提取腳本回傳的資料。例如,若上一步驟名為 Call Script,則書名欄位的公式應設為 [Call Script].[Title]。依此類推,將作者與圖片網址準確寫回資料庫。
秘訣三:最關鍵的「TW」區域代碼 (The Regional Fix)
在整合 API 時,開發者常遇到一個詭異現象:明明在電腦網頁瀏覽器上測試 API 網址能看到資料,但 AppSheet 執行自動化後回傳卻是一片空白。
這是因為當你在瀏覽器測試時,使用的是在地化網路環境;而 AppSheet 則是透過位於美國或其他地區的雲端伺服器(Cloud Server)去呼叫 API。若未指定區域,API 可能因地理限制而查無台灣當地的書籍資料。解決方案是在 API 呼叫網址中強制加入區域代碼參數(例如:Country.tw)。
「最後是加上區域代碼才解決這個問題...如果你不加就會有問題。」
這種「在地化」設定在 API 整合中經常被忽略,卻是決定自動化工具能否在本地環境順利運作的成敗關鍵。
秘訣四:權限大坑:別忘了開啟 API 存取權
許多初學者寫好了完美的 GAS 腳本,AppSheet 卻始終報錯無法執行,這通常是因為卡在「系統權限」。
請注意,這不是在腳本內的權限,而是 Google Apps Script 儀表板的專案設定。你必須進入 GAS 的「Settings (專案設定)」,在最下方的 Google Apps Script API 選項中,將開關從預設的關閉狀態手動切換為 「開啟」。若此開關未打開,AppSheet 的自動化引擎將被阻擋在門外,無法成功呼叫並執行你的腳本。
進入 Monitor 後,點擊 「Read Records (閱讀記錄)」,並尋找代表腳本執行的 「箭頭圖示」。這裡會詳細記錄 API 回傳的原始內容。此外,我也建議在 GAS 腳本中加入一個 Test 函數,配合 Logger.log() 指令。在串接到 AppSheet 前,先在 GAS 編輯器中執行 Test 函數,確認腳本回傳的 Title、Author 與 Image 是否正確。只要腳本端確認能抓到資料,接下來只需檢查 AppSheet 的欄位對應(Step Name)是否正確即可。
結語與反思
實現「掃描 ISBN 自動抓取資料」的過程,充分展現了 AppSheet 與 GAS 結合的強大威力。自動化開發的難點往往不在於程式碼的多寡,而是在於對細節的處理——從一個勾選框、一個區域參數到一個 API 開關,這些都是專家眼中的成功關鍵。
當你掌握了將外部 API 數據無縫串接到行動 App 的能力後,你的想像力將不再受限。下一個你想自動化的繁瑣流程會是什麼?是自動化的庫存追蹤,還是即時的匯率轉換系統?只要掌握了這套整合邏輯,無限的自動化可能就在你手中。