You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google App脚本PropertiesService.getScriptProperties()的作用范围是什么?

关于Google Apps Script ScriptProperties共享范围的解答

核心结论

PropertiesService.getScriptProperties()获取的属性是直接绑定到你的Apps Script项目本身的,不存在域名隔离逻辑:
如果你将Gmail Add-on公开上架到Workspace Marketplace,所有安装该插件的用户(无论归属哪个独立域名)读写的都是同一套ScriptProperties数据。你举的示例场景中,user1@domain1.com将url属性设为google.com后,user2@domain5.com读取该属性拿到的值同样是google.com。

同域名用户共享配置的正确实现方案

ScriptProperties本身不支持域名维度的自动隔离,你可以通过自定义key规则实现需求:

  • 首先通过Session.getActiveUser().getEmail().split('@')[1]获取当前用户的所属域名
  • 存储配置时将域名作为属性key的前缀,例如对应url配置项,实际存储的key为url_domain1.com、url_domain5.com
  • 读写时根据当前用户的域名拼接对应key,即可实现同域名用户共享配置、跨域名配置互不干扰的效果

注意事项

  • ScriptProperties的总存储上限为9KB,若你服务的域名数量较多、配置数据量大,建议改用Cloud Firestore、Google Sheets等存储方案
  • 建议增加权限校验逻辑,仅允许对应域名的管理员可修改所属域名的配置,普通用户仅开放读权限,避免配置被恶意篡改

内容的提问来源于stack exchange,提问作者GovZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:57:04