如何阻止其他用户查看Google Script源码但仍允许其正常使用脚本
Google Script隐藏敏感信息、阻断源码访问同时保障功能正常的实现方案
- 方案1:调整部署配置,以开发者身份对外提供服务
打开脚本编辑器,点击右上角「部署」-「新建部署」,将「执行身份」设置为脚本所有者(你本人的账号),「有权访问的人」按实际需求选择对应范围(可设为所有人甚至匿名用户)。此配置下用户仅能调用脚本的对外能力,完全没有脚本的访问权限,既看不到源码,也碰不到里面的敏感信息,功能可以正常运行。如果是绑定在Google表格/文档等Workspace文件上的脚本,只需给用户分配文件的查看/评论权限即可,不要开放编辑权限,用户触发脚本时会按你预设的身份执行,不会暴露源码。每次更新代码后需重新部署新版本,用户才能调用到最新逻辑。 - 方案2:敏感信息存入脚本属性,避免硬编码
不要把API密钥、内部配置等敏感信息直接写在代码里,统一用PropertiesService的脚本属性存储,仅脚本所有者可以查看编辑这类属性内容,即便是有脚本查看权限的用户也无法读取属性内的信息,操作示例:// 首次配置时执行一次,存入后可删除本段代码 const scriptProps = PropertiesService.getScriptProperties(); scriptProps.setProperty('SECRET_KEY', '你的敏感密钥内容'); // 业务逻辑中读取使用 const secretKey = scriptProps.getProperty('SECRET_KEY'); - 方案3:核心逻辑封装为私有库,仅对外暴露入口
将包含敏感信息、核心逻辑的代码单独抽离到一个独立脚本中,将其作为私有库,仅给面向用户的入口脚本授予该私有库的访问权限。用户只能拿到入口脚本的执行权限,完全无法访问私有库的源码和内部信息。
配置完成后建议使用非所有者账号测试验证,确认无法打开脚本编辑器查看源码、敏感信息未泄露,同时所有功能可正常触发运行。
内容的提问来源于stack exchange,提问作者Dijkgraaf
相关产品推荐
相关产品推荐

