利用 Google Apps Script 建置安全後端 API 與 HTML 前端互動應用
在現今網頁應用程式開發中,前後端分離架構已成為主流,而如何快速建立一個簡單、可擴展且具備安全性驗證的 API 服務,成為許多開發者的共同需求。本文將以 Google Apps Script 作為後端,並結合 HTML 與 JavaScript 的前端介面,示範如何實現一個透過 API Key 驗證呼叫 MR-Models 模型生成回應的完整範例。此範例不僅能協助使用者快速驗證 API 使用權限,還能讓前端即時呈現後端生成的結果,適用於教學、原型驗證及小型應用等場景。
一、後端架構 – Google Apps Script 與 API Key 驗證
Google Apps Script(GAS)是一個基於雲端的腳本平台,能夠快速開發和部署 Web 應用程式。利用 GAS 建立後端 API 的優點在於不需要自行搭建伺服器,並且具有良好的 Google 生態系統整合性。以下步驟說明如何使用 GAS 作為後端:
建立專案與程式碼編寫
使用者登入 Google Apps Script 後,建立一個新的專案。在專案中,建立一個名為 Code.gs 的檔案,並貼上下列程式碼。程式中先定義了一個固定的 API Key,該 API Key 為系統驗證使用者權限的重要依據。當前端送出請求時,後端會解析 JSON 格式的請求內容,並比對其中的 API Key 是否與預設值相符,若不符則回傳錯誤訊息。
程式中對於 API Key 的驗證十分重要,它確保了只有具備合法憑證的使用者才能夠存取後端服務,從而提升整體系統的安全性。使用者可根據需要修改回傳邏輯,甚至整合真實的模型呼叫,例如利用 HuggingFace API 或自建模型服務。
部署為 Web App
編寫完後端程式後,點選右上角的「部署」→「新建部署」,並選擇「Web 應用程式」進行部署。部署時需設定執行者為「我」,存取權限選擇「任何人」,這樣外部應用就能夠透過 HTTP 請求來呼叫該 API。部署成功後,系統會提供一個 Web App URL,例如:https://script.google.com/macros/s/XXXXXXXXXXXXXXXXXXXX/exec
此 URL 將成為前端呼叫 API 的目標端點。
二、前端設計 – HTML 與 JavaScript 實現即時互動
前端部分則以 HTML 和 JavaScript 來構建一個簡單而直觀的使用者介面。使用者在此介面中輸入 API Key 與問題,點擊送出後,前端會以 fetch API 發送一個 POST 請求到後端 Web App URL,並將回傳的 JSON 結果顯示在頁面上。以下是一個完整的 HTML 範例:
在此範例中,前端頁面設計簡潔明瞭,包含以下功能:
- API Key 輸入框: 用戶必須在此處輸入正確的 API Key,與後端預設值比對,確保請求授權。
- 問題輸入框: 用戶可在此輸入希望提交給 MR-Models 處理的問題或指令。
- 送出按鈕與結果顯示區: 點擊送出後,前端會發送請求並在頁面上即時顯示後端生成的結果,若發生錯誤則顯示相應錯誤訊息。
使用 JavaScript 的 fetch API 發送 POST 請求時,會以 JSON 格式將 API Key 與使用者輸入的文字送往後端,並依據後端回傳的結果動態更新頁面內容。這樣的設計不僅提升了使用者體驗,也確保了前後端的資料傳遞與驗證過程的完整性與安全性。
三、應用場景與擴展性考量
此完整範例展示了如何利用 Google Apps Script 建立一個簡易而安全的後端 API,並與前端 HTML+JavaScript 整合,實現 API Key 驗證及模型生成回應功能。這種架構具有以下優點:
快速上手與部署:
利用 GAS 平台不需自行架設伺服器,開發者可以快速建立與部署後端 API。前端部分只需基本的 HTML 與 JavaScript 即可完成簡單的互動介面。安全性驗證:
API Key 驗證機制能夠有效防止未授權存取,確保只有合法用戶能夠呼叫 API,從而保護模型生成服務與資源。靈活擴展:
本範例中後端僅以模擬回應方式展示實現流程,但實際應用中,可依需求整合真正的 MR-Models 模型服務(例如呼叫 HuggingFace API 或自建模型伺服器),甚至擴展成多模態處理、語音合成等複雜應用。跨平台整合:
透過前後端分離架構,前端可以部署在任何支援 HTML 與 JavaScript 的環境中,而後端的 Google Apps Script 亦可輕鬆與 Google 生態系統中其他服務(如 Google Sheets、Drive)整合,提供更豐富的應用功能。
總結來說,此完整範例不僅適用於展示基本技術流程,也能作為後續開發和功能擴展的基礎。開發者只需根據實際需求修改和擴充程式碼,即可打造出具有專業水準且安全穩定的模型呼叫應用。無論是教學演示、原型設計還是商業應用,此架構均具備良好的可維護性與擴展性,能夠有效提升整體開發效率與用戶體驗。
https://github.com/mtkresearch/MR-Models