和 AI 一起寫程式:創意生活應用 第 10 週 2026-11-09(一) 觀念頁

一票怎麼進試算表、怎麼部署成網站、做完怎麼改一行

這頁是觀念,動手步驟在操作頁。每一節都是一句白話、一個可以按的東西、一行「所以在操作頁的第幾步」。全部在你的瀏覽器裡假裝,不連網、不碰你的試算表。看不懂的詞,第 8 節名詞表可以搜。

十一節
  1. 這週做的東西,一張圖
  2. 一票的旅程——六步,每步你看到什麼、背後在做什麼
  3. 試算表是機器的記憶體——本機預覽與雲端差在哪
  4. 存檔不等於上線——三顆按鈕按按看
  5. 授權畫面在問什麼——全勾、少勾會怎樣
  6. 誰可以存取:門開給誰
  7. 做完改一行:兩條路——模擬終端機
  8. 卡住了先看哪裡——選症狀
  9. 名詞表——可以搜
  10. 想一想——十題,揭曉看解釋
  11. 出處

小標籤=這句話從哪裡抄來的:規格 §〇·…本週內容規格的硬事實表那一列;操作頁 第 N 步操作頁那一步;Google 官方·…頁尾那三條官方說明。

0 這週做的東西,一張圖

你會做一個手機投票網站,而且是你自己部署上線的。

題目是「哪一關想看老師再做一次?」,三個選項:找不到部署按鈕/送出後試算表沒新增一筆/同學的手機打不開。同學在手機按一下,你的試算表 Votes 就多一列;電腦按「更新票數」看計數。規格 §〇·這週做什麼規格 §〇·三個選項

點一站,看它做什麼、住在哪台電腦。

三層=前端(手機看得到的畫面)/後端(跑在 Google 機房的 Code.gs)/資料儲存(試算表 Votes,不同裝置看同一張表)。規格 §〇·三層

所以在操作頁:開頭〈按下去,那一票去了哪裡?〉那三格,就是這四站的前三站。去看那三格

1 一票的旅程

按下「送出一票」之後,一票要走六步;畫面只負責轉述,帳記在試算表。

比喻只用這一次:畫面是餐廳的菜單和點餐單,後端是櫃台,試算表是帳本。規格 §四·比喻

你看到什麼

背後在做什麼

畫面說「已送出」,去哪裡確認真的有收到? 

所以在操作頁:第 4 步〈手機送一票,電腦回來看〉,就是親手走這六步。去第 4 步

2 試算表是機器的記憶體

記憶體=機器記東西的地方。這週是試算表;下週 Python 會來讀它。

直接用瀏覽器開 Index.html=本機預覽,票只存在那個瀏覽器,別人看不到。正式投票只認 /exec,那時每一票都寫進同一張 Votes 表。規格 §〇·前端操作頁·本機預覽

模擬:票數是假的,不會寫進任何表
你的手機0票
同學的手機0票
電腦0票
試算表 Votes
場次選項

下週(W11)用 Python 讀你這張表:到時候 Python 是機器的大腦,試算表是記憶體。這週不講 Python 怎麼寫。規格 §〇·W11 接點

所以在操作頁:第 4 步用手機開 /exec 投一票,回電腦看 Votes 多一列。去第 4 步

3 存檔不等於上線

部署(deploy)=把程式變成一個別人打得開的網址。版本(version)=部署當時那份程式的快照。

開店掛招牌是部署;菜單改版重印、招牌不換,是出新版本。改了程式只按「儲存」,/exec 不會變;要「部署 → 管理部署作業 → 選原本的 → 編輯 → 版本:新版本 → 部署」,網址不變、內容更新。按成「新增部署作業」會多一條新網址,發出去的舊網址不會更新。規格 §〇·存檔≠上線Google 官方·版本更新

模擬:假的編輯器、假的手機

情境:你剛在編輯器把標題改成「下一段想看老師重做哪一關?」。按一顆按鈕,看手機會看到什麼。

同學手上的原網址
尾巴 /exec 版本 1
哪一關想看老師再做一次?
網址有沒有變
沒變,還是原本那一條
發出去的 QR 還能不能用
能用,掃到的是舊標題
/dev 試吃口看到的
舊標題(你還沒儲存)

先按一顆按鈕。

/dev=試吃口

測試部署作業的網址。只有專案編輯者打得開,永遠跑最新存檔。拿來驗收會誤判。

/exec=正門

正式網址。跑「部署當時那個版本」,給同學用的是這條。認尾巴就好。

規格 §〇·/dev 與 /execGoogle 官方·部署說明

所以在操作頁:第 4 步「認尾巴就好,這次要的是 /exec」;改完程式照〈卡關時〉「我存了新程式,想更新同一個網址」做。去卡關時

4 授權畫面在問什麼

授權=你簽名同意這支程式替你動試算表。Google 問一次,少勾一項它就做不到。

「Google 尚未驗證這個應用程式」=Google 不認識這支程式,因為它是你自己剛貼的;不是壞掉。開試算表、授權、路線 A 登入,三次都用 W5 做 bot 的那個個人 Gmail(學校帳號的 Apps Script 可能被關掉)。操作頁 第 1 步

這張授權書的路:規格 §〇·授權畫面操作頁 第 3 步

  1. 需要授權
  2. 審查權限
  3. 選開試算表的那個個人 Gmail
  4. 尚未驗證(正常)
  5. 進階
  6. 前往 …(不安全)
  7. 有勾選框就每一項都勾
  8. 繼續
模擬:假的同意畫面,字樣以你畫面為準

看到什麼算過:試算表多出 Votes 分頁,第一列「場次」「選項」。執行記錄說完成不算。規格 §〇·看到什麼算過

所以在操作頁:第 3 步「權限清單有勾選框就每一項都勾」。去第 3 步

5 誰可以存取:門開給誰

誰可以存取=店門開給誰:只有我/要登入 Google 的人/所有人。

部署時還有一格「執行身分」選「我」:程式用你的權限寫你的表,同學只需要能開網站。規格 §〇·部署設定

模擬:假的手機
同學的手機看到什麼
同學的手機 沒登入 Google
先選一個。

三種門禁,選一個看看。

這週為什麼可以選「所有人」:表裡只有場次和選項、沒有任何個人資料,同學的手機不用登入就能投。以後的表如果會記名字或成績,就要縮小到「任何擁有 Google 帳戶的使用者」或更小。規格 §〇·誰可以存取三種操作頁 第 4 步

所以在操作頁:第 4 步「執行身分選『我』」「『誰可以存取』選『所有人』」。去第 4 步

6 做完改一行:兩條路

目標一樣:把投票板的標題改成「下一段想看老師重做哪一關?」,手機重新整理後看到新標題。兩條路同分。

路線 B=瀏覽器問 AI,自己貼回編輯器,再出新版本。路線 A=agent 加 clasp:agent 是會替你動手的 AI,改檔、下指令,但每一步你看計畫、你同意;clasp 是 Google 出的 Apps Script 命令列工具,讓 agent 把改好的程式直接推上你的專案、更新同一個網址。跟 W3 的 gh、W6 的 gws 同一套:它下指令、你同意。有自己的筆電、W6 或 W7 裝過 Node.js 的人走 A,其他人走 B。W6 的 gws 登入還在的人,做完還能叫同一個 agent 用 gws 讀 Votes 分頁數票(只准讀),操作頁路線 A 底下的〈延伸〉有寫。規格 §〇·兩條路規格 §〇·clasp 是什麼

① 問 AI貼上 Code.gs,請它找出 BOARD_TITLE,改成新標題,列出原本和改完的那一行。
② 自己貼回確認 AI 指的是畫面上看得到的那一行,貼回編輯器,儲存。
③ 新版本部署 → 管理部署作業 → 選原本的 → 編輯 → 版本:新版本 → 部署。
④ 手機重整原本的 /exec 重新整理,看到新標題。

操作頁·路線 B

模擬終端機:三個指令各做了什麼

模擬:不是真的終端機,按了不會動你的專案
(按上面的指令,這裡會印出它做了什麼。)
雲端專案裡的程式舊標題
給同學那條部署的版本@1
手機重新整理看到舊標題

只 push 不更新部署,手機看到的永遠是舊版。規格 §〇·路線 A 最常錯

所以在操作頁:〈做完再請 AI 改一行:兩條路同分〉。去兩條路

7 卡住了先看哪裡

卡住先查三件:網址是不是 /exec、「誰可以存取」是不是「所有人」、改了程式有沒有出「新版本」。

規格 §〇·手機打不開先查兩件手記·11:10

所以在操作頁:〈卡關時先看這裡〉每一條都對得上。去卡關時

8 名詞表

只放這週用到的詞,每個一句白話,加上「這週在哪一步碰到」。

前端(front end)
手機看得到、按得到的畫面。這週:Index.html,第 2 步貼進去。
後端(back end)
跑在 Google 機房的那支程式,收單、檢查、記帳。這週:Code.gs,第 2 步貼進去。
資料儲存
試算表 Votes,一票一列;誰開都是同一張。這週:第 3 步執行後長出來。
記憶體
機器記東西的地方;這週是試算表,下週 Python 來讀它。這週:第 2 節。
部署(deploy)
把程式變成一個別人打得開的網址。這週:第 4 步。
版本(version)
部署當時那份程式的快照;改了程式要出新版本,網址才會更新。這週:〈卡關時〉「想更新同一個網址」。
新增部署作業
再開一條新網址;舊網址不會跟著更新。這週:別按錯,第 3 節。
/dev、/exec
試吃口(只有編輯者、永遠最新存檔)/正門(給同學、跑部署版本)。這週:第 4 步認尾巴。
授權
你簽名同意這支程式替你動試算表;Google 問一次,少勾一項它就做不到。這週:第 3 步。
尚未驗證
Google 不認識這支程式,因為它是你自己剛貼的;不是壞掉。這週:第 3 步授權畫面。
誰可以存取
店門開給誰:只有我/要登入 Google 的人/所有人。這週:第 4 步選「所有人」。
更新票數
再問一次後端「現在幾票」。這週:第 4 步最後一下。
agent
會替你動手的 AI:改檔、下指令,但每一步你看計畫、你同意。這週:路線 A 第 ④ 步。
clasp
Google 的 Apps Script 命令列工具;讓 agent 把程式推上你的專案、更新同一個網址。像跑腿送菜單到店裡。這週:路線 A。
命令列(終端機)
用打字下指令的那個黑視窗(PowerShell)。這週:路線 A 第 ① 步。
指令碼ID/部署ID
專案的門牌號/那條網址的門牌號;抓專案用前者、更新網址用後者。不要貼進作業或公開頁面。這週:路線 A 第 ③、⑤ 步。

規格 §四·白話與比喻

9 想一想:十題,先猜再揭曉

答案都在上面九節裡。先選再按「揭曉」;選項每次重新整理會換順序。分數只存在這台瀏覽器。

答對 0/10

10 出處

這一頁沒有接 AI、不收集任何資料,離線打得開。每個模擬都是在你的瀏覽器裡假裝,不會動你的試算表或專案。

看完了?回操作頁做步驟 | 回到頂端

↑