如何构建可在所有谷歌文档中显示菜单项的Google Add On?
问题解答
代码可用性判断
你的代码逻辑符合Google Workspace附加组件的开发规范,仅存在一处语法错误需要修正:test函数中DocumentApp.getUi.alert缺少方法调用括号,修正后可正常在插件中运行,完整代码如下:
function onOpen() { DocumentApp.getUi().createAddonMenu().addItem("Test", "test").addToUi() } function test() { DocumentApp.getUi().alert("Yeah!") }
createAddonMenu()是官方专门为附加组件设计的菜单创建API,插件正式发布后,菜单的父级名称会自动和你在Google Workspace应用商店上架的插件名称保持一致,符合你提到的官方规则。
测试阶段全文档触发onOpen的操作步骤
- 第一步:配置项目清单文件
在Apps Script编辑器左侧点击「项目设置」,勾选「在编辑器中显示appsscript.json清单文件」,回到编辑页打开appsscript.json,补充如下配置(可按需调整名称、时区等参数):{ "timeZone": "Asia/Shanghai", "dependencies": {}, "oauthScopes": ["https://www.googleapis.com/auth/documents.currentonly", "https://www.googleapis.com/auth/script.container.ui"], "runtimeVersion": "V8", "addOns": { "common": { "name": "你的插件名称", "layoutProperties": { "primaryColor": "#4285f4" } }, "docs": { "homepageTrigger": { "runFunction": "onOpen" } } } } - 第二步:安装测试版本插件
点击编辑器右上角「部署」→「测试部署」,部署类型选择「编辑器附加组件」,关联应用选择「Google Docs」,版本选择「头部版本(使用最新代码)」,点击「安装」即可完成测试版本的账号级安装。 - 第三步:验证效果
打开任意Google Docs文档,首次打开会弹出插件授权提示,完成授权后打开顶部「扩展程序」菜单,即可看到你的插件入口,点击后会展示你添加的「Test」菜单项,点击即可触发alert弹窗。
注意事项
- 目前Google Workspace规范不允许第三方插件直接添加顶层主菜单,所有第三方插件入口统一收纳在「扩展程序」子菜单下,LucidChart等成熟插件也遵循该规范。
- 如果后续你的插件需要调用更多敏感API,需要在
oauthScopes中补充对应权限,同时简单触发器onOpen可能无法满足权限要求,需要改为可安装触发器。
内容的提问来源于stack exchange,提问作者Pablo Fernandez
相关产品推荐
相关产品推荐

