2025年9月4日

填寫 Google 表單後,如何自動取得觀看試算表的權限?

填寫 Google 表單後,如何自動取得觀看試算表的權限?

Wayne Fu 0 A+
google-form-sheet-auto-add-viewer.jpg-填寫Google表單後自動取得試算表權限最近處理一個「Blogger 發案/接案」社團,由於台灣詐騙事件之多世界知名,為了保障案件雙方安全與權益,有必要請社團成員留下相關聯絡資料、FB 帳號、個人網站等資訊,才不至於出了事無法找人。 填寫資料最方便的自然是免費的 Google 表單,所有名單資料可自動儲存在試算表供查詢。不過問題來了,這份名單包含個資不適合公開,只能開放給有填寫表單的成員查看,其他沒填寫的成員是不可以看的。那麼要如何做到這個效果呢?總不能每次有人填寫後,就得手動點擊試算表「共用」按鈕,逐一加入新的帳號權限吧! 這麼麻煩的事當然是想辦法自動化,本篇會說明如何自動執行 Google Apps Script(簡稱GAS),來增加試算表新的使用者權限。不過仔細想想這也是個挺實用的功能,不少情境都適合這麼做,所以順便也會提供一點想法,介紹適合套用這個功能的情況有哪些。 下面也可以玩玩這個效果,先填寫問卷範例後,就能看到試算表的問卷調查結果(沒填寫問卷之前,沒有權限看試算表): (圖片出處: pexels.com)

一、適合應用的情境

填寫表單後自動取試算表權限,可以應用的範圍相當廣泛,不過要注意的是,如果某些資料不適合被看到,那麼需要的配套作法是,將隱私資料欄位隱藏起來,這樣就比較安全了。 這個功能除了本篇提到用於「發案/接案」名單登錄,以下幾個是我想到比較實用的情境: 1. 報名活動 製作一個報名表單,讓報名者填寫完後,立刻能從試算表查看:
  • 有多少人報名
  • 自己的報名序號
  • 分組結果(如有設計這個功能的話)
2. 成果登記或打卡系統 這個作法算是變化題,例如登記每日成果或每日打卡時間後,工程師另外寫 GAS 將每日的資料,彙整到另一個月報表試算表,而登記者自動取得月報表試算表的讀取權限。 3. 服務滿意度、錯誤回報 某個產品或服務,可以製作這樣的表單,讓使用者反饋意見、或回報錯誤,使用者填寫完後,也能從試算表看到其他人反應哪些問題,或是對此產品、服務有什麼想法。如果看到很多人反應同一個狀況,那就可以確認是嚴重問題。 4. 投票紀錄 投票者用表單投票後,立刻可從試算表看到其他人的投票傾向。不過這個功能還有更好的作法,可參考「讓 Google 表單(試算表) 定時寄出 PDF 報表」,能從 PDF 看到投票百分比的圖表。 5. 內部問卷調查 不公開的問卷調查,也可設計表單填問卷,填表者立刻能看到所有人的意見,不過需要記得把身份欄位隱藏起來,例如電子郵件欄位。 本篇的範例展示便是問卷調查,可以往下看表單及試算表的範例效果。

二、製作表單流程+試算表

1. 製作表單 進入「Google 雲端硬碟」→ 左上角「新增」按鈕 → Google 表單,可以建立一個新的表單。 google-form-sheet-auto-add-viewer-1.jpg-填寫Google表單後自動取得試算表權限 如上圖,填寫標題,在「問題」分頁完成所有問答內容。 2. 要求驗證 Google 郵件帳號 google-form-sheet-auto-add-viewer-2.jpg-填寫Google表單後自動取得試算表權限 切換到右上紅框處的「設定」分頁 →「收集電子郵件地址」選擇「已驗證」 這個動作會要求使用者登入 Google 帳號,這是最重要的設定步驟! 如果沒這麼做,只是要求使用者在問答題目自行填入郵件信箱,那麼我們還得自行驗證是否填了假的郵件信箱,後續處理非常麻煩。 現在這個經由這個設定後,我們不但自動取得填表者的 Gmail 帳號,而且可確認是真實的郵件信箱。 3. 表單連結試算表 google-form-sheet-auto-add-viewer-3.jpg-填寫Google表單後自動取得試算表權限 切換到「回覆」分頁 → 點擊紅框處「連結至試算表」 系統會自動建立一個試算表,儲存所有填寫表單的內容,之後也可從此處前往試算表網址。 全部動作都完成後,記得按 Google 表單最上方的「發布」圖示按鈕,讓這個表單上線運作。

三、執行 GAS 取得試算表權限

1. 進入 GAS google-form-sheet-auto-add-viewer-4.jpg-填寫Google表單後自動取得試算表權限 進入連結表單的試算表後,如上圖,填寫者經 Google 驗證過的郵件帳號,會紀錄在「電子郵件地址」這個欄位,通常是第 2 欄(B欄),請記住這個位置,之後會用到。 接著點擊選單上的「擴充功能」→「Apps Script」,進入 GAS 畫面 2. 撰寫 GAS google-form-sheet-auto-add-viewer-5.jpg-填寫Google表單後自動取得試算表權限 如上圖,一開始會進入左方紅框處的「編輯器」選單,右方的程式碼區塊,請貼上以下內容: function onFormSubmit(e) { const emailColumn = 2; // Gmail 欄位序號 const sheet = SpreadsheetApp.getActiveSpreadsheet(); const email = e.values[emailColumn - 1]; // 加為試算表的共用者,只讀 sheet.addViewer(email); // 若要可編輯用 sheet.addEditor(email); }
  • emailColumn 是「電子郵件位址」所在的欄位,通常是第 2 欄,如果不是的話請修改為正確的欄位數字
  • 沒問題的話按上方紅框的「儲存」圖示即可
3. 設定 GAS 觸發條件 google-form-sheet-auto-add-viewer-6.jpg-填寫Google表單後自動取得試算表權限 接著必須設定 GAS 觸發條件讓其自動執行,如上圖,進入左方紅框處的「觸發條件」選單 → 點擊右下角紅框處的「新增觸發條件」 google-form-sheet-auto-add-viewer-7.jpg-填寫Google表單後自動取得試算表權限 如上圖進行設定:
  • 「選擇您要執行的功能」選擇「onFormSubmit」
  • 「選取活動類型」選擇「提交表單時」
  • 完成後按「儲存」
4. 允許執行權限 第一次設定「觸發條件」或者執行 GAS 時,需要取得授權,可參考「製作可執行 GAS 指令碼的圖片按鈕」→「三、撰寫 Apps Script 指令碼」的流程進行授權。 該文的圖片是中文畫面,但也可能遇到英文界面,不過操作的按鈕位置是一樣的,所以若不知如何完成授權的話,還是可以參考該篇的流程。 5. 執行效果 google-form-sheet-auto-add-viewer-8.jpg-填寫Google表單後自動取得試算表權限 如上圖,我刻意用另一個帳號填寫表單,果然立刻就能看到試算表了,點擊「共用」按鈕可看到已經多了一個獲得存取權的使用者。

四、隱藏隱私資訊

如前面所提,開放給填表者觀看的試算表內容,如果包含了隱私資訊的話,最好把那些欄位都隱藏起來。由於填表者獲得的權限只有「檢視」,無法「編輯」,所以將無法看到隱藏的欄位。 google-form-sheet-auto-add-viewer-4.jpg-填寫Google表單後自動取得試算表權限 操作方法也很簡單,以前面出現過的這張圖為例,「電子郵件地址」這個欄位如果想隱藏起來:
  • 點擊第 2 欄最上方「B」,可選取整欄
  • 滑鼠按右鍵選擇「隱藏欄」
如此所有「電子郵件地址」資料都將看不到,但有新的填表資料時,仍會儲存電子郵件資料在隱藏欄位中。 而試算表擁有者也有多種方式可以查看隱藏內容:
  • 先讓該欄顯示,查看資料內容後再隱藏
  • 或複製整個試算表內容,到另一個試算表再查看
  • 如能自行撰寫 GAS,也能收到新資料時,立刻複製所有填表資料到另一個試算表
下面提供的範例效果,就會隱藏「電子郵件地址」欄位,讓問卷填寫者不用擔心 Google 帳號被看到。

五、範例效果展示

這是一個問卷範例表單,填寫後就能自動獲得權限,看到試算表的所有問卷回答內容。 點擊下面這個連結,可前往試算表觀看,但是在填寫之前將無權限可檢視。此試算表會隱藏「電子郵件地址」欄位,不用擔心帳號被看到。
更多 Google Apps Script 相關文章:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

沒有留言:

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP