Google Workspace插件按钮颜色不再遵循Manifest定义的配色方案
问题描述
使用Google Apps Script开发的Gmail Workspace插件已稳定运行1年,近期仅添加日志并修改一处字符串后重新部署,出现以下异常:
- 采用
CardService.TextButtonStyle.FILLED样式的按钮,文本变为深色,背景色未使用Manifest中定义的primaryColor,而是显示默认值 - 手动通过
setBackgroundColor()指定颜色的按钮显示正常 - 应用标题能正确读取Manifest中的
primaryColor - 尝试过移除新增代码、调整Manifest中
primaryColor位置、删除gmail.version属性,均无法解决,目前只能通过代码手动设置按钮颜色
按钮代码
const button1 = CardService.newTextButton() .setTextButtonStyle(CardService.TextButtonStyle.FILLED) .setText("Button1") .setOnClickAction(CardService.newAction().setFunctionName("button1Menu")); const button2 = CardService.newTextButton() .setTextButtonStyle(CardService.TextButtonStyle.FILLED) .setBackgroundColor("#FF5733") .setText("Button2") .setOnClickAction(CardService.newAction().setFunctionName("button2Menu"));
Manifest的addsOn配置
{ "common": { "name": "Test App", "layoutProperties": { "primaryColor": "#FF5733" }, "logoUrl": "MY_LOGO_URL" }, "gmail": { "version": "TRUSTED_TESTER_V2", "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "featurePage" } ] } }

可能原因及解决方法
样式继承规则变更
近期Google可能调整了插件的样式继承逻辑,FILLED按钮不再自动继承Manifest的primaryColor。可以通过显式关联主题颜色替代手动固定色值,既复用Manifest配置,又适配规则变化:const button1 = CardService.newTextButton() .setTextButtonStyle(CardService.TextButtonStyle.FILLED) .setText("Button1") .setThemeColor(CardService.ThemeColor.PRIMARY) // 新增该行关联主题色 .setOnClickAction(CardService.newAction().setFunctionName("button1Menu"));部署缓存未完全刷新
重新部署后插件可能存在全局缓存延迟,可尝试:- 在Gmail插件管理中卸载插件后重新安装
- 用浏览器隐身模式测试,排除本地缓存干扰
- 等待24小时让全局缓存完成更新
Manifest配置格式兼容性
尝试将layoutProperties调整为最新规范格式,排查隐性结构错误:"common": { "name": "Test App", "layoutProperties": { "color": { "primary": "#FF5733" } }, "logoUrl": "MY_LOGO_URL" }
内容的提问来源于stack exchange,提问作者Sad Tomato Of Joy
相关产品推荐
相关产品推荐

