【发布时间】:2018-02-14 08:42:33
【问题描述】:
在一个谷歌应用程序脚本项目中,我需要存储一些敏感用户的数据以供以后执行。假设在第一次执行期间,用户提供了一些数据,而第二次脚本使用了这些数据。
有很多方法可以做到这一点,比如保存在一些谷歌文档中或将其保存到驱动器中。但是,我认为最干净的方式是将其存储在 PropertiesService.getUserProperties()
它工作得很好,但是我不确定这种方法是否足够安全。目前尚不清楚这些数据是如何存储的。我找不到任何技术说明。我浏览了cookies,看起来它不使用cookies。也许,它存储在 G 服务器上的某个地方,但是其他一些脚本能够读取我放入 UserProperties 中的数据吗?此外,目前尚不清楚设置属性的生命周期是多少,它们是否可以永久存在,直到某些脚本将其删除?
更新
在Going GAS 书中有关属性服务的一章中,我发现了一些有趣的注释
当 Apps 脚本首次启动时,特定用户可以访问 UserProperties,而不是绑定到特定脚本。 如今,每个脚本都有自己的 UserProperties 类,只能由特定的脚本从该脚本中访问 用户。
这意味着 user1 下的 script1 存储在 UserProperties 中的任何数据都不能在 user1script2 中访问/em>。我实际上进行了快速测试以确认这一点。
另一个注释
Apps Script Properties 服务位于云端,因此不依赖于任何 特定的机器、环境或操作系统。
这部分证实了我的假设,即属性存储在运行 *.gs 脚本的 G 服务器上。
考虑到这一点,我会说使用 Properties Service 在某种程度上是可靠和安全的。
很高兴听到任何关于此的 cmets。
【问题讨论】: