1. 简介
借助 Apps Script CLI(也称作 clasp)工具,您可以在本地创建、修改和部署 Apps 脚本项目,还可以从命令行创建和发布 Web 应用以及表格、文档、表单和幻灯片等产品的插件。您可以通过两种方式开发 Apps 脚本:使用 script.google.com 或在本地计算机上开发。我们将学习后者,即如何使用 clasp(Apps 脚本的命令行工具)。
功能
- 在本地开发。
clasp可让您在自己的计算机上编写代码,并在完成后将其上传到 Apps 脚本。您还可以下载现有的 Apps 脚本项目,然后在本地对其进行修改。将代码下载到本地后,您可以使用自己喜爱的开发工具(例如 git)处理 Apps 脚本项目。 - 管理部署版本。创建、更新和查看项目的多个部署。
- 结构化代码。
clasp会自动将 script.google.com 上的扁平项目转换为文件夹。例如:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
学习内容
此 Codelab 将向您展示如何使用 clasp 执行 3 项关键活动:
- 如何创建新的 Apps 脚本项目
- 如何克隆、拉取和推送现有项目
- 如何管理脚本的部署
2. 使用入门
下载 CLI
Apps 脚本 CLI (clasp) 需要安装 Node.js。点击此处安装 Node.js。
安装 Node 后,全局安装 CLI(别名 clasp):
npm i @google/clasp -g
3. 启用 Apps 脚本 API
您必须先在 Apps 脚本 IDE 中启用 Google Apps 脚本 API,然后才能使用 Clasp。
4. 登录
登录
我们来试用一下表扣吧!您只需记住一个命令:clasp。
clasp
在开始使用命令行工具之前,我们必须先登录。运行以下命令:
clasp login
或者,如果使用 SSH,请输入以下命令:
clasp login --no-localhost
此时,系统会提示您登录 Google 账号。您使用 CLI 创建的任何项目都与此 Google 账号相关联。
5. 创建新项目
创建独立项目
首先,使用以下命令创建一个独立的 Google Apps 脚本项目:
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
您刚刚在“clasp_codelab”文件夹中创建了一个 Apps 脚本项目!
(可选替代方案)克隆现有项目
我们来尝试为 Google 幻灯片插件创建容器绑定的脚本。
为此,请前往 slides.google.com 并新建一个演示文稿。将演示文稿名称更改为“clasp Codelab Test”。在 Google 幻灯片菜单栏的扩展程序菜单中,选择“Apps 脚本”。
这会在 script.google.com 中打开您的 Apps 脚本项目。
为您的项目创建一个新目录,然后 cd 到该目录。
mkdir clasp_codelab_test
cd clasp_codelab_test
如需克隆项目,我们需要 Script ID。您可以在 Apps 脚本项目网址中 /projects/ 之后找到此 ID。复制该值并将其粘贴到以下命令中:
clasp clone <scriptID>
输出应如下所示…

现在,您已将项目下载到当前目录中。使用您偏好的编辑器查看 Code.gs(一个空函数)的内容。
6. 提取和推送文件
在 script.google.com 上修改代码
现在您已经能够克隆项目,接下来,我们将学习如何拉取和推送文件。我们将逐步介绍如何通过 script.google.com 在云端进行编辑,以及如何将文件拉取到本地计算机。我们来在云端打开脚本:
clasp open-script
现在,我们已进入在线编辑器,接下来将在线编辑一些代码,稍后我们将使用 clasp 获取这些代码。
如需创建新的 Apps 脚本文件,请在编辑器左侧的文件旁边,依次点击“添加文件”图标
> 脚本。输入名称 utils/strings。在新创建的文件 utils/strings.gs 中,将代码替换为以下内容:
var world = "世界";
在 Code.gs 中,将现有代码替换为以下代码:
function hello() {
Logger.log("Hello, " + world);
}
点击顶部的“保存”图标 。
如需运行该函数,请在编辑器顶部从函数下拉列表中选择 hello,然后点击运行。
问候语会显示在执行日志的底部。
在本地修改代码
让我们回到上次克隆项目的命令行。您可能会注意到,我们的代码现在与在线编辑器不同步。为了解决这个问题,我们从在线项目中拉取代码。
clasp pull
现在,回到代码。您应该会看到一个用于存放实用程序的文件夹。clasp CLI 会自动将斜杠字符 / 转换为本地文件系统上的文件夹。
在您喜爱的文本编辑器中,前往 util/strings.gs 并将变量名称 world 替换为 mondo。此外,还要通过将 world 替换为 mondo 来更新 Code.gs。如需更新 script.google.com 上的更新后代码,请推送您修改后的代码。
clasp push
这样就大功告成了!您的邀请码已于 script.google.com更新。
7. 版本控制和部署
clasp 可用于管理版本和部署。首先,我们来了解一些词汇:
- 版本:脚本项目的“快照”。版本可以视为用于部署的只读分支。
- 部署:脚本项目的已发布版本(通常以插件或 Web 应用的形式)。需要提供版本号。
我们来创建脚本的一个版本:
clasp create-version "First version"
使用我们创建的已记录的版本字符串(而不是 [version]),我们可以部署脚本:
clasp create-deployment 1 "First deployment"
clasp deploy 命令会查看您的清单并创建新的版本化部署。您的代码现已部署为可执行文件。如需详细了解,请参阅部署指南。
8. 就是这样!
我们希望 Apps 脚本 CLI 能够成为帮助您管理 Apps 脚本 项目的简单工具。
所学内容
- 如何创建新的 Apps 脚本项目
- 如何克隆、推送和拉取现有项目
- 如何管理脚本的部署
Clasp 在 GitHub 上提供,欢迎提出新功能和补丁。
我们迫不及待要一睹您的应用程序了!