实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

Google Apps 脚本:仅需 4 行代码调用 Google 表格、Google 地图和 Gmail

实验 10 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP235

Google Cloud 自学实验的徽标

概览

在本实验中,我们将向您介绍编写代码调用 Google 开发者技术的最简方法之一,只需依托主流 Web 开发者语言 JavaScript 就能实现。借助 Google Apps 脚本,您可编写代码来提取 Google 表格某一单元格中的地址,根据该地址生成一份 Google 地图,并通过 Gmail 将该地图链接发送给自己或朋友。更棒的是,全程真的只需要 4 行代码!

目标

  • 初步了解 Apps 脚本,掌握入门必备知识
  • 在 Google 表格中新建一个电子表格
  • 学习如何为任意文档打开脚本编辑器
  • 修改、保存并运行 Apps 脚本代码
  • 通过 Gmail 查看您的工作成果!

建议具备的经验

具备以下经验将有助于提升您的学习体验:

  • JavaScript 基础技能(有相关基础更佳,但非必需)
  • 电子表格基础操作技能

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

开始实验

  1. 准备就绪后,请点击开始实验

    此时,您会看到“实验室详细信息”窗格,其中包含您在该实验中登录 Gmail 所需的临时凭据。

    如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。

  2. 点击打开 Google 表格

    该实验会启动资源,并打开另一个标签页来显示“登录”页面。

    提示:请在不同的窗口中打开这两个标签页,并将它们并排显示。

  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中:

    {{{user_0.username | "<用户名>"}}}
  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中:

    {{{user_0.password | "<密码>"}}}
  6. 点击下一步

  7. 根据提示接受所有条款及条件。

Google 表格随即打开,并且登录的是学生 Google 账号。

什么是 Google Apps 脚本?

Google Apps 脚本的开发环境可能与您习惯使用的环境不同。借助 Apps 脚本,您可以:

  • 在基于浏览器的代码编辑器中进行开发,但如果使用 clasp(Apps 脚本的命令行部署工具),也可选择本地开发
  • 使用专为访问 Workspace、其他 Google 服务或外部服务(如 URLfetch、JDBC 等)定制的 JavaScript 专用版本编写代码
  • 无需编写授权代码,Apps 脚本会自动为您处理
  • 无需托管应用,它会直接在 Google 云端服务器上部署和运行。
注意:讲解 Apps 脚本的相关内容不在本实验范围内。相关在线资源十分丰富,官方文档中不仅包含快速入门概览,还提供了教程视频资料。本实验将向您介绍 Apps 脚本开发环境,帮助您轻松编写代码,并启发您思考可借助该脚本构建的应用类型。

Apps 脚本应用有两种形式:

  1. 绑定型 — 此类脚本永久且仅与一个 Google 文档(Google 文档、Google 表格、Google 幻灯片、Google 协作平台或 Google 表单)绑定
  2. 独立型 — 不与 Google 表格、Google 文档、Google 幻灯片、Google表单文件或 Google 协作平台绑定的独立脚本。

绑定型应用和独立型应用还可通过发布扩大使用范围:

您的首个 Apps 脚本应用应绑定至 Google 表格。现在可以创建新电子表格了!

任务 1. 创建新的 Google 表格并输入街道地址

按照以下说明,在新的 Google 表格中输入街道地址:

  1. 请打开 Google 表格以创建新工作表。
  2. 在空白电子表格中,点击左上角的第一个单元格 (A1)。它应位于 A 列第 1 行。
  3. 在该单元格中输入地址,可任选一个全球有效的街道地址,且需包含邮政编码、城市与州/省等目标位置信息,例如 76 9th Ave, New York。

这就是您在 Google 表格中需要完成的所有操作。现在,您可以打开编辑器并编写代码了!

点击检查我的进度,验证您是否完成了上述任务。

创建新的 Google 表格并输入街道地址

任务 2. 打开 Apps 脚本

Apps 脚本提供了一个代码编辑器,您可用它创建与 Google 表格绑定的脚本。

  • 在顶部菜单栏中,依次选择扩展程序 > Apps 脚本

Apps 脚本随即打开。请注意右侧的代码编辑器窗口:

Apps 脚本项目页面的代码编辑器中显示 Code.gs

编辑器中会自动为您创建一个名为 myFunction() 的默认函数。好了,现在可以开始编写应用程序。

任务 3. 修改(模板)代码

  1. Code.gs 文件提供的是“模板”代码,实际功能十分有限。复制以下代码并粘贴到编辑器窗口中,以替换模板代码。然后将 <YOUR_EMAIL> 替换为本实验提供的用户邮箱:
function sendMap() { var sheet = SpreadsheetApp.getActiveSheet(); var address = sheet.getRange("A1").getValue(); var map = Maps.newStaticMap().addMarker(address); GmailApp.sendEmail("<YOUR_EMAIL>", "Map", 'See below.', {attachments:[map]}); }
  1. 为限制此应用仅能访问您正在操作的 Google 表格(而非用户的所有 Google 表格),请添加此注解作为文件级注释,让用户更加放心:
/** * @OnlyCurrentDoc */

大功告成!不算可选注解,您仅用 4 行代码就创建了一个 sendMap() 应用。

请务必将 <YOUR_EMAIL> 替换为本实验提供的用户邮箱,以便您可以在实验过程中查收邮件。

您是否注意到,当您替换编辑器中的代码时,文件名左侧会出现一个红色圆圈?

界面中文件名左侧的红色圆圈

这表示您已修改该文件,现在需要保存。每次有未保存的修改时,都会显示该红色圆圈。

  1. 保存并为项目命名,您可以随意命名,例如“Hello Maps!”。点击保存项目图标保存文件。

代码编辑器菜单栏中的“保存项目”图标

此外,您也可以按快捷键 CTRL+S(适用电脑端、Linux 系统)或 Command+S(适用 Mac 系统)保存。您必须先为项目命名,才能继续操作。

任务 4. 运行 Google 表格、Google 地图和 Gmail 应用

如需运行您创建的应用,请执行以下操作:

  1. 由于该函数已重命名为 sendMap(),请选择要运行的函数为 sendMap

代码编辑器菜单栏显示 sendMap 为要运行的函数

  1. 点击代码编辑器菜单栏中的运行,以运行 sendMap() 函数。

Apps 脚本会管理授权代码,因此您无需编写该代码。然而,应用用户仍需向该脚本授予权限,允许其访问您的 Google 表格,并代表您通过 Gmail 发送邮件。第一个授权对话框如下所示:

授权对话框

  1. 点击查看权限
  2. 如果系统提示,请选择您的账号(即本实验的实验详细信息面板中显示的用户名)。

“从 qwiklabs.net 选择账号”对话框中突出显示的学生账号

  1. 在接下来询问应用是否可以访问您的 Google 账号的对话框中,点击允许

授予权限后,脚本会运行直至完成。

  1. 将鼠标悬停在左侧,然后点击执行,即可看到列出的 sendMap。在系统提示时点击查看信息中心

“执行”页面列出已部署的 sendMap 函数

  1. 点击实验面板左侧显示的打开 Gmail 按钮。

  2. 选择账号对话框中,输入学生用户名并点击下一步

  3. 输入本实验提供的密码,然后点击下一步

  4. 点击接受以接受条款。

此时您应已进入 Gmail,查看您的收件箱。您会看到一封主题为“Map”的邮件,邮件正文如下所示:

脚本发送的邮件,主题为“Map”,邮件正文中包含一张地图。

点击检查我的进度,验证您是否完成了上述任务。

运行 Google 表格、Google 地图和 Gmail 应用

试想一下,区区四行代码虽构不成一个完整的应用,却能高效实用地调用三款不同的 Google 产品。即使您不熟悉 JavaScript 或 Apps 脚本,也能读懂这段代码,从而大致了解它的工作原理,甚至可能知晓 Apps 脚本能为您实现哪些功能。

任务 5. 应用 - 详细说明

本节将详细解析这段代码。

由于此应用代码量较少,没有整体代码结构可供探讨。因此,本节将逐行解析此应用的代码,该应用涉及三款不同的 Google 产品!

这是 sendMap() 函数的常规 JavaScript 函数声明:

function sendMap() {

第一行代码调用了可通过 Apps 脚本中的 SpreadsheetApp 对象访问的电子表格服务。返回的工作表会赋值给同名变量。

getActiveSheet() 方法顾名思义,它会返回界面 (UI) 中当前活跃工作表的“句柄”:

var sheet = SpreadsheetApp.getActiveSheet();

借助 sheet 对象,通过 getRange()A1 表示法引用单元格范围(单个单元格)。“范围”指一组单元格,也可仅包含一个单元格,例如您所用的 A1,也就是您输入地址的那个单元格。

现在,通过 getValue() 调用提取该单元格范围的内容,并在返回结果后将其赋值给 address 变量。尝试添加更多地址并从不同单元格中读取数据。

var address = sheet.getRange("A1").getValue();

第三行代码通过 Maps 对象连接到 Google 地图服务。获得地图服务访问权限后,立即通过 newStaticMap() 请求创建新的静态地图。

然后,您可以通过使用 addMarker() 方法,在从 Google 表格中提取的地址上放置一个“图钉”:

var map = Maps.newStaticMap().addMarker(address);

最后一行代码借助 邮件服务(通过 GmailApp 对象),调用其 sendEmail() 方法来发送邮件,邮件中包含文本“See below.”和附件形式的地图图片:

GmailApp.sendEmail("friend@example.com", "Map", 'See below.', {attachments:[map]}); }

恭喜!

您使用 Google Apps 脚本编写了代码,该代码调用 Google 开发者技术,从 Google 表格中提取地址,根据该地址生成 Google 地图,并将该地图发送给收件人。

后续步骤/了解详情

其他资源

本实验中使用的代码也可在 GitHub 代码库中找到,网址为 GitHub.com/googlecodelabs/apps-script-intro。(本实验旨在与该代码库保持同步。)以下是相关补充资源,可帮助您深入了解本实验所涵盖的内容,同时探索通过编程方式调用 Google 开发者工具的其他方法。

文档

相关视频和通用视频

新闻和最新动态

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2024 年 11 月 5 日

本实验的最后测试时间:2023 年 11 月 5 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。