编码水平:初级
时长:5 分钟
项目类型:通过自定义菜单和事件驱动型触发器实现自动化
目标
- 了解解决方案的功能。
- 了解 Apps 脚本服务在解决方案中的作用。
- 设置脚本。
- 运行脚本。
关于此解决方案
创建端到端活动报名系统。如果您即将举办活动(例如会议),可以为会议分会设置新日历、创建报名表单,并自动通过电子邮件向参会者发送个性化日程。
运作方式
此解决方案使用 Google 表格中的自定义菜单来实现自动化活动注册系统。该脚本会创建一个日历,其中包含 Google 表格中列出的会议活动。然后,脚本会创建一个表单,其中包含参加者可以报名的活动列表。在参加者填写完表单后,脚本会将参加者添加到日历活动中,并通过电子邮件向他们发送行程。
Apps 脚本服务
此解决方案使用以下服务:
- 电子表格服务 - 向其他服务提供活动信息。
- 日历服务 - 为活动创建新日历、向日历添加活动,以及将参与者添加到他们报名的活动中。
- Properties 服务 - 存储由 Calendar 服务创建的日历的 ID。当用户从自定义会议菜单中点击设置会议时,Properties 服务会检查日历 ID 属性是否存在,以确定活动注册系统是否已设置。这样做有助于避免创建重复的表单和日历。
- 表单服务 - 根据电子表格中的信息创建表单,让参会者报名参加会议。
- 脚本服务 - 创建一个在参会者填写表单时触发的触发器。
- 文档服务 - 获取参加者报名参加的活动的相关信息,并将活动列表添加到新文档中。该脚本会授予参会者修改文档的权限。
- 邮件服务 - 通过电子邮件将行程文档发送给参会者。
前提条件
如需使用此示例,您需要满足以下前提条件:
- Google 账号(Google Workspace 账号可能需要管理员批准)。
- 可访问互联网的网络浏览器。
设置脚本
- 点击以下按钮,复制创建会议会话注册示例电子表格。此解决方案的 Apps 脚本项目已附加到电子表格中。
制作副本 - 依次点击会议 > 设置会议。您可能需要刷新页面才能看到此自定义菜单。
根据提示为脚本授权。 如果 OAuth 权限请求页面显示警告此应用未经过验证,请继续操作,依次选择高级 > 前往“{项目名称}”(不安全)。
依次点击会议 > 设置会议。
运行脚本
- 依次点击工具 > 管理表单 > 前往实时表单。
- 填写并提交表单。
- 前往 calendar.google.com。
- 在左侧,确保已选中会议日历旁边的复选框。
- 前往您报名参加的活动的日期,确认您已被添加为参加者。
(可选)重置解决方案
如果您想再次尝试此解决方案,或对其进行自定义以使用您自己的活动信息,则需要重置首次运行脚本时设置的一些项。如需查看重置解决方案的步骤,请点击下方的重置解决方案:
重置解决方案
第 1 步:重置存储的脚本属性
如果您尝试多次运行该脚本,系统会提示“您的会议已设置完毕。在 Google 云端硬盘中查找您的注册表单! 这是因为创建会议日历后,日历 ID 会存储为脚本属性。当脚本运行时,它会检查日历 ID 属性是否已存在,如果已存在,则停止运行。
请按以下步骤操作,移除现有的日历 ID 媒体资源:
- 在电子表格中,依次点击扩展程序 > Apps 脚本。
- 在 Apps 脚本编辑器中,从函数下拉列表中选择
resetProperties
,然后点击运行。
第 2 步:删除会议日历
每次运行脚本时,都会创建一个新日历。如果您不想保留创建的原始日历,请按以下步骤操作:
- 前往 calendar.google.com。
- 点击“会议日历”旁边的“会议日历的选项”图标
> 设置和共享。
- 滚动到设置底部,然后点击删除。
第 3 步:删除表单提交触发器
每次运行该脚本时,它都会为表单提交创建触发器。为避免多次触发导致电子邮件重复,请移除原始触发器。请按以下步骤操作:
- 在电子表格中,依次点击扩展程序 > Apps 脚本。
- 在 Apps 脚本项目中,点击左侧的触发器图标
。
- 点击触发器旁边的“更多”图标
> 删除触发器。
第 4 步:取消关联并删除表单
每次运行脚本时,系统都会创建一个新表单。请按以下步骤操作,将表单与电子表格取消关联并删除表单:
- 在电子表格中,右键点击表单回复工作表,然后依次点击取消关联表单 > 确定。
- 再次右键点击表单回答工作表,然后依次点击删除 > 确定。
- 前往 forms.google.com。
- 右键点击会议表单,然后依次点击移除 > 移至回收站。
重置解决方案后,您可以添加自己的数据,也可以继续使用示例数据,然后再次运行脚本。
查看代码
如需查看此解决方案的 Apps 脚本代码,请点击下方的查看源代码:
查看源代码
Code.gs
贡献者
此示例由 Google 在 Google 开发者专家的帮助下维护。