2025年10月11日 星期六

透過網頁將資料寫入 Google 試算表,打造簡易留言板!

想讓使用者在你的網站上留言,並自動將留言存到 Google 試算表嗎?透過 Google Apps Script,你可以輕鬆實現這個功能!本文將引導你一步步建立一個簡易的留言板,讓網頁上的資料能夠即時寫入 Google 試算表。

核心概念:Google Apps Script 網路應用程式

Google 提供了將程式發佈成網路應用程式的功能,讓你可以透過一般的 POST 或 GET 請求來傳送及讀取資料。[1][2] 這表示,我們可以撰寫一支 Google Apps Script,並將它部署成一個網路應用程式,這個應用程式就能接收來自我們網頁的資料,再將資料寫入指定的 Google 試算表。[1]

步驟一:建立 Google 試算表

  1. 登入你的 Google 帳戶,並前往 Google 雲端硬碟。

  2. 點擊左上角的「+ 新增」,選擇「Google 試算表」,建立一個新的試算表。

  3. 為你的試算表命名,例如「留言板」。

步驟二:撰寫 Google Apps Script

  1. 在你的「留言板」試算表中,點擊上方選單的「擴充功能」>「Apps Script」。

  2. 這會開啟一個新的指令碼編輯器分頁。將預設的 myFunction 程式碼刪除,並貼上以下的程式碼:

JavaScript
function doGet(e) {
  // 宣告一個變數 ws,代表目前活躍的工作表
  var ws = SpreadsheetApp.getActiveSheet();
  // 取得網址中的參數
  var parameter = e.parameter;
  var username = parameter.username;
  var message = parameter.message;
  
  // 將使用者名稱、訊息和目前時間寫入新的一列
  ws.appendRow([username, message, new Date()]);
  
  // 建立一個變數 output,並設定其值為 "success write data"
  var output = "success write data";
  
  // 回傳一個包含 output 內容的文字輸出
  return ContentService.createTextOutput(output);
}

程式碼解說:

  • doGet(e):這是 Google Apps Script 中一個特殊的函式,當你的網路應用程式收到 GET 請求時,就會觸發這個函式。[3][4][5]

  • SpreadsheetApp.getActiveSheet():取得目前正在使用的工作表。

  • e.parametere 是一個事件物件,包含了請求的相關資訊,e.parameter 則可以取得網址中的參數。[6]

  • ws.appendRow([...]):在工作表的最後一列新增一筆資料,[] 中依序放入要寫入的資料。

  • ContentService.createTextOutput(...):建立一個純文字的回應。[3]

步驟三:部署為網路應用程式

  1. 在指令碼編輯器中,點擊右上角的「部署」>「新增部署作業」。

  2. 在「選取類型」中,點擊齒輪圖示並選擇「網頁應用程式」。

  3. 在「說明」欄位中,可以為這次的部署加上描述(可選填)。

  4. 在「網頁應用程式」的「執行身分」選擇「我」。

  5. 在「誰可以存取」的下拉選單中,選擇「任何人」。

  6. 點擊「部署」。

  7. 接著會跳出授權請求的視窗,點擊「授權存取」,並選擇你的 Google 帳戶。

  8. 可能會出現「Google 尚未驗證這個應用程式」的警告,點擊「進階」,然後選擇「前往『(你的專案名稱)』(不安全)」。

  9. 最後點擊「允許」,完成授權。

  10. 部署完成後,你會得到一個「網頁應用程式」的網址,請將它複製下來。

步驟四:測試你的網路應用程式

  1. 開啟一個新的瀏覽器分頁,將你剛剛複製的網址貼上。

  2. 在網址的最後面加上 ?username=你的名字&message=你的留言,例如:
    https://script.google.com/macros/s/AKfycby.../exec?username=小明&message=你好

  3. 按下 Enter 送出後,如果頁面顯示 "success write data",就表示資料已經成功寫入了!

  4. 回到你的「留言板」試算表,你就會看到剛剛輸入的資料已經被記錄下來了。

應用與延伸

透過這個簡單的範例,你已經學會了如何透過網頁將資料寫入 Google 試算表。你可以將這個技術應用在各種情境,例如:

  • 簡易留言板或聯絡表單: 讓訪客可以直接在你的網站上留下訊息。

  • 資料收集: 透過網頁表單收集各種資料,並自動整理到試算表中。[7]

  • 簡易資料庫: 將 Google 試算表當作一個簡單的資料庫來使用,儲存和讀取資料。[8][9]

你可以進一步學習如何使用 doPost 來處理 POST 請求,或是如何讀取試算表中的資料並顯示在網頁上,打造功能更豐富的網路應用程式。

 



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

透過Excel讀寫Google試算表,解決中文亂碼與日期格式問題

  您可以透過Excel,直接將資料寫入或讀取Google試算表,但在過程中可能會遇到中文變亂碼,以及回傳時間為ISO 8601日期格式的問題。本文將引導您如何解決這些問題,並順利完成資料串接。 事前準備 要將Excel與Google試算表連結,您需要先在Google Apps ...