如何创建G Suite插件?如何分享自制App Script排班同步脚本给同事?
分享排班同步脚本给同事&开发Google Workspace插件方案
嘿,我刚好做过类似的排班同步工具,分享下我的经验给你:
一、快速临时方案:不用插件直接分享
如果不想马上投入精力开发插件,可以先试试这两个简便方法,能快速让同事用上:
- 绑定脚本到原排班表:
打开老板的Google Sheets,进入扩展程序 > Apps Script,把你的脚本粘贴进去。接着设置一个可安装的onOpen触发器——这样每次有人打开表格时,脚本会自动添加一个自定义菜单(比如“同步我的排班到日历”)。同事打开表格后,点击这个菜单就能运行,第一次运行需要授权(记得提醒他们这是内部工具,放心授权就行)。
注:同事只要有表格的查看权限就够,脚本会使用他们自己的Google Calendar权限来同步,不用老板额外开编辑权限。 - 创建模板表格:
把你现在的个人排班表格存为Google Sheets模板(文件 > 另存为模板),同事直接打开模板就能用,里面已经包含你的脚本,不用手动复制内容。
二、最优方案:开发Google Workspace Add-on(原G Suite插件)
这是长期专业的解决方案,同事可以直接在Google Sheets的插件库中安装使用,步骤和学习资源如下:
1. 核心开发流程
- 重构现有脚本:
把你的脚本调整成符合Add-on规范的结构:添加onInstall和onOpen函数来生成自定义菜单,处理授权流程,确保脚本能适配不同用户的表格(比如自动获取当前运行用户的姓名,精准匹配排班表中的条目)。 - 配置manifest文件:
创建appsscript.json文件,配置插件的基本信息(名称、描述、图标)和所需权限(比如https://www.googleapis.com/auth/calendar和https://www.googleapis.com/auth/spreadsheets),权限要最小化,只请求必要的范围。 - 测试插件:
在Apps Script编辑器中,点击测试 > 部署为测试版Add-on,添加同事的邮箱作为测试用户,他们就能在自己的Google Sheets里找到并安装测试版插件,提前试用。 - 发布到团队内部:
如果要让整个团队方便安装,可以把插件发布到Google Workspace Marketplace,内部团队使用的话,验证流程会简单很多,不用复杂的第三方审核。
2. 官方学习资源(都是Google官方文档,无需跳转外部)
- Google Workspace Add-ons入门指南:
里面有完整的step-by-step教程,从搭建第一个Sheets插件到发布,涵盖菜单创建、授权处理、与Sheets/Calendar的交互逻辑,非常适合入门。 - Apps Script高级用法文档:
如果你对触发器、用户身份获取、权限管理这些细节不熟悉,可以看这部分,有大量实用的代码示例,能帮你优化脚本的稳定性。 - Google Calendar API参考文档:
虽然你已经在用Calendar服务,但这里有更详细的参数说明,比如事件重复规则、提醒设置等,能让你的同步逻辑更完善。
3. 关键注意点
- 权限最小化:只请求必要的权限,比如只申请修改Calendar的权限,不要请求不必要的范围,这样用户授权时会更放心。
- 用户数据匹配:确保脚本能准确获取当前运行用户的姓名,避免同步错误的班次。
- 错误提示:添加try-catch块,处理找不到姓名、授权失败等情况,给用户清晰的提示,比如“未在排班表中找到你的姓名,请检查”。
内容的提问来源于stack exchange,提问作者Achsaf Atzmon
相关产品推荐
相关产品推荐

