准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a new Google Sheet and enter a street address
/ 50
Run the Google Sheets, Maps, and Gmail app
/ 50
在本实验中,我们将向您介绍编写代码调用 Google 开发者技术的最简方法之一,只需依托主流 Web 开发者语言 JavaScript 就能实现。借助 Google Apps 脚本,您可编写代码来提取 Google 表格某一单元格中的地址,根据该地址生成一份 Google 地图,并通过 Gmail 将该地图链接发送给自己或朋友。更棒的是,全程真的只需要 4 行代码!
具备以下经验将有助于提升您的学习体验:
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
准备就绪后,请点击开始实验。
此时,您会看到“实验室详细信息”窗格,其中包含您在该实验中登录 Gmail 所需的临时凭据。
如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。
点击打开 Google 表格。
该实验会启动资源,并打开另一个标签页来显示“登录”页面。
提示:请在不同的窗口中打开这两个标签页,并将它们并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中:
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中:
点击下一步。
根据提示接受所有条款及条件。
Google 表格随即打开,并且登录的是学生 Google 账号。
Google Apps 脚本的开发环境可能与您习惯使用的环境不同。借助 Apps 脚本,您可以:
Apps 脚本应用有两种形式:
绑定型应用和独立型应用还可通过发布扩大使用范围:
您的首个 Apps 脚本应用应绑定至 Google 表格。现在可以创建新电子表格了!
按照以下说明,在新的 Google 表格中输入街道地址:
这就是您在 Google 表格中需要完成的所有操作。现在,您可以打开编辑器并编写代码了!
点击检查我的进度,验证您是否完成了上述任务。
Apps 脚本提供了一个代码编辑器,您可用它创建与 Google 表格绑定的脚本。
Apps 脚本随即打开。请注意右侧的代码编辑器窗口:
编辑器中会自动为您创建一个名为 myFunction() 的默认函数。好了,现在可以开始编写应用程序。
Code.gs 文件提供的是“模板”代码,实际功能十分有限。复制以下代码并粘贴到编辑器窗口中,以替换模板代码。然后将 <YOUR_EMAIL> 替换为本实验提供的用户邮箱:大功告成!不算可选注解,您仅用 4 行代码就创建了一个 sendMap() 应用。
请务必将 <YOUR_EMAIL> 替换为本实验提供的用户邮箱,以便您可以在实验过程中查收邮件。
您是否注意到,当您替换编辑器中的代码时,文件名左侧会出现一个红色圆圈?
这表示您已修改该文件,现在需要保存。每次有未保存的修改时,都会显示该红色圆圈。
此外,您也可以按快捷键 CTRL+S(适用电脑端、Linux 系统)或 Command+S(适用 Mac 系统)保存。您必须先为项目命名,才能继续操作。
如需运行您创建的应用,请执行以下操作:
sendMap(),请选择要运行的函数为 sendMap:sendMap() 函数。Apps 脚本会管理授权代码,因此您无需编写该代码。然而,应用用户仍需向该脚本授予权限,允许其访问您的 Google 表格,并代表您通过 Gmail 发送邮件。第一个授权对话框如下所示:
授予权限后,脚本会运行直至完成。
sendMap。在系统提示时点击查看信息中心。点击实验面板左侧显示的打开 Gmail 按钮。
在选择账号对话框中,输入学生用户名并点击下一步。
输入本实验提供的密码,然后点击下一步。
点击接受以接受条款。
此时您应已进入 Gmail,查看您的收件箱。您会看到一封主题为“Map”的邮件,邮件正文如下所示:
点击检查我的进度,验证您是否完成了上述任务。
试想一下,区区四行代码虽构不成一个完整的应用,却能高效实用地调用三款不同的 Google 产品。即使您不熟悉 JavaScript 或 Apps 脚本,也能读懂这段代码,从而大致了解它的工作原理,甚至可能知晓 Apps 脚本能为您实现哪些功能。
本节将详细解析这段代码。
由于此应用代码量较少,没有整体代码结构可供探讨。因此,本节将逐行解析此应用的代码,该应用涉及三款不同的 Google 产品!
这是 sendMap() 函数的常规 JavaScript 函数声明:
第一行代码调用了可通过 Apps 脚本中的 SpreadsheetApp 对象访问的电子表格服务。返回的工作表会赋值给同名变量。
getActiveSheet() 方法顾名思义,它会返回界面 (UI) 中当前活跃工作表的“句柄”:
借助 sheet 对象,通过 getRange() 以 A1 表示法引用单元格范围(单个单元格)。“范围”指一组单元格,也可仅包含一个单元格,例如您所用的 A1,也就是您输入地址的那个单元格。
现在,通过 getValue() 调用提取该单元格范围内的内容,并在返回结果后将其赋值给 address 变量。尝试添加更多地址并从不同单元格中读取数据。
第三行代码通过 Maps 对象连接到 Google 地图服务。获得地图服务访问权限后,立即通过 newStaticMap() 请求创建新的静态地图。
然后,您可以通过使用 addMarker() 方法,在从 Google 表格中提取的地址上放置一个“图钉”:
最后一行代码借助 邮件服务(通过 GmailApp 对象),调用其 sendEmail() 方法来发送邮件,邮件中包含文本“See below.”和附件形式的地图图片:
您使用 Google Apps 脚本编写了代码,该代码调用 Google 开发者技术,从 Google 表格中提取地址,根据该地址生成 Google 地图,并将该地图发送给收件人。
本实验中使用的代码也可在 GitHub 代码库中找到,网址为 GitHub.com/googlecodelabs/apps-script-intro。(本实验旨在与该代码库保持同步。)以下是相关补充资源,可帮助您深入了解本实验所涵盖的内容,同时探索通过编程方式调用 Google 开发者工具的其他方法。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
本手册的最后更新时间:2024 年 11 月 5 日
本实验的最后测试时间:2023 年 11 月 5 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验