1. 簡介
Apps Script CLI (或簡稱 clasp
) 這項工具可讓您在本機建立、編輯和部署 Apps Script 專案。可讓您透過指令列為試算表、文件、表單和簡報等產品建立及發布網頁應用程式和外掛程式。有兩種方法可讓您使用 Script.google.com 或從電腦本機開發 Apps Script。我們會學習後者,瞭解如何使用 Apps Script 的指令列工具 clasp
。
功能
- 在本機開發。
clasp
可讓您在自己的電腦上編寫程式碼,並在完成後上傳到 Apps Script。您也可以下載現有的 Apps Script 專案,然後在本機編輯。取得本機程式碼後,您可以使用慣用的開發工具 (例如 git) 處理 Apps Script 專案。 - 管理部署作業版本。建立、更新及查看專案的多個部署項目。
- 建構程式碼:
clasp
可將指令碼.google.com 上的一般專案自動轉換成資料夾。例如:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
課程內容
本程式碼研究室將說明如何使用 clasp
執行 3 項重要活動:
- 如何建立新的 Apps Script 專案
- 如何複製、提取及推送現有專案
- 如何管理指令碼的部署作業
2. 踏出第一步
下載 CLI
您必須安裝 Node.js 6.0.0 以上版本,才能使用 Apps Script CLI (clasp
)。在這裡安裝 Node.js。
有節點後,請在全域安裝 CLI (別名 clasp):
npm i @google/clasp -g
3. 登入
登入
試試夾扣!唯一需要記住的指令是 clasp
。
clasp
開始使用命令列工具前,必須先登入。執行下列指令:
clasp login
或使用 SSH:
clasp login --no-localhost
此時,系統會提示您登入 Google。您透過 CLI 建立的所有專案都會與這個 Google 帳戶相關聯。
4. 建立新專案
建立獨立專案
請先使用下列指令建立獨立的 Google Apps Script 專案:
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
您剛剛在「clasp_codelab」資料夾中建立了 Apps Script 專案!
(選用替代方法) 複製現有專案
我們可以嘗試為 Google 簡報外掛程式建立 container-bound 指令碼。
方法是前往 slides.google.com 建立新簡報。將簡報名稱變更為「clasp Codelab Test」。在標頭中的「工具」下方,按下「指令碼編輯器...」。
系統隨即會在 script.google.com 開啟您的 Apps Script 專案。如要複製專案,需要 Script ID
。您可以在 Apps Script 專案網址的 /projects/
後方找到這個 ID。複製該值並貼到下列指令中:
clasp clone <scriptID>
輸出內容應如下所示...
現在您已下載目前目錄中的專案。使用您最愛的編輯器查看 Code.gs
的內容 (空白函式)。
5. 提取 &推送檔案
前往 Script.google.com 編輯程式碼
現在您可以複製專案,接著我們來學習如何提取及推送檔案。我們會逐步引導您透過 script.google.com
在雲端編輯,並將內容提取至本機。在雲端開啟指令碼:
clasp open
現在我們已連上線上編輯器,我們會在線上編輯一些程式碼,稍後使用 clasp
擷取。
如要建立新的 Apps Script 檔案,請在編輯器左側,按一下「檔案」旁邊的「新增檔案」圖示 。>指令碼:輸入名稱 utils/strings
。在新建立的檔案 (utils/strings.gs
) 中,將程式碼替換成以下程式碼:
var world = "世界";
在 Code.gs
中,將現有程式碼取代為以下內容:
function hello() {
Logger.log("Hello, " + world);
}
按一下頂端的「」。
如要執行函式,請在編輯器頂端的函式下拉式清單中選取 hello
,然後按一下「Run」(執行)。
問候語會顯示在執行記錄的底部。
在本機編輯程式碼
請返回上次複製專案的指令列。您可能會發現我們的程式碼與線上編輯器不同步。如要解決這個問題,請從線上專案擷取程式碼。
clasp pull
現在返回程式碼。您應該會看見我們公用程式的資料夾。clasp
CLI 會自動將斜線字元 /
轉換為本機檔案系統中的資料夾。
在您偏好的文字編輯器中,前往 util/strings.gs
,並將變數名稱 world
替換為 mondo
。此外,請將 world
替換為 mondo
,藉此更新 Code.gs。如要在 script.google.com
上更新更新後的程式碼,請推送編輯過的程式碼。
clasp push
大功告成!程式碼已更新為 script.google.com
。
6. 版本管理與部署
clasp
可讓您管理版本和部署作業。首先介紹一些詞彙:
- 版本:「快照」編寫程式碼版本可視為用於部署作業的唯讀分支版本。
- 部署作業:指令碼專案的已發布版本 (通常是外掛程式或網頁應用程式)。需要版本號碼。
建立指令碼版本:
clasp version "First version"
使用我們建立的記錄版本字串取代 [version]
,即可部署指令碼:
clasp deploy 1 "First deployment"
clasp deploy
指令會查看您的資訊清單,並建立新版本的 Deployment。您的程式碼現已部署為執行檔。詳情請參閱部署指南。
7. 這樣就大功告成了!
我們希望 Apps Script CLI 能成為您管理 Apps Script 專案的簡易工具。
涵蓋內容
- 如何建立新的 Apps Script 專案
- 如何複製、推送及提取現有專案
- 如何管理指令碼的部署作業
您可以在 GitHub 取得 Clasp,取得新功能和修補程式。
希望很快就能看到您打造的傑作!