电子表格用户能否访问Google Apps Script属性?API密钥安全问询
Google Apps Script中API密钥的安全性问题
绑定电子表格的脚本存储密钥的情况
用PropertiesService.getScriptProperties()存储的API密钥,电子表格用户能否获取取决于他们是否拥有脚本的编辑权限:
- 若用户仅拥有表格的查看权限,或只有表格编辑权限但无法打开脚本编辑器,那么他们无法获取密钥。这类属性属于脚本级私有数据,只有脚本所有者和被添加为脚本协作者的用户,才能在脚本编辑器中查看或读取。
- 但如果用户有权限打开脚本编辑器(即拥有脚本编辑权限),则可以直接查看甚至修改
ScriptProperties中的内容,自然能拿到密钥。
将密钥存储到调用的库中的情况
这种情况和绑定脚本的场景有明显差异:
- 库的
ScriptProperties属于库自身,只有库的所有者和库的协作者能访问,调用该库的脚本的用户(哪怕是调用脚本的协作者)都无法直接读取库的属性。 - 需要注意的是:如果库中存在暴露密钥的函数(比如
function getAPIKey() { return PropertiesService.getScriptProperties().getProperty('API_KEY'); }),那么调用脚本的用户只要能运行这个函数,就能获取密钥。但如果库仅在内部使用密钥,未对外暴露读取接口,用户则完全无法接触到该密钥。
内容的提问来源于stack exchange,提问作者hackpoetic
相关产品推荐
相关产品推荐

