gpt4 book ai didi

google-apps-script - Google Apps 脚本中的 PropertiesService 是否安全?

转载 作者:行者123 更新时间:2023-12-03 23:55:35 25 4
gpt4 key购买 nike

在一个谷歌应用程序脚本项目中,我有一些情况需要存储一些敏感的用户数据以供以后执行。假设在第一次执行期间,用户提供了一些数据,而第二次脚本使用了这些数据。

有很多方法可以做到这一点,比如保存在一些谷歌文档中或保存在驱动器中。但是,我认为最干净的方法是将其存储在 PropertiesService.getUserProperties()

它工作得很好,但是我不确定这种方法是否足够安全。目前尚不清楚这些数据是如何存储的。我找不到任何技术说明。我浏览了cookies,看起来它不使用cookies。也许,它存储在 G 服务器上的某个地方,但是其他一些脚本能够读取我放入 UserProperties 中的数据吗?此外,目前尚不清楚设置属性的生命周期是多少,它们是否可以永远存在,直到某些脚本将其删除?

更新

Going GAS在关于属性服务的一章中,我发现了一些有趣的注释

When Apps Script first started, UserProperties were accessible by a specific user, and not tied to a particular script. Nowadays, each script has its own UserProperties class that can be accessed only from within that script by a particular user.



这意味着 user1 下的 script1 存储在 UserProperties 中的任何数据都不能在 user1 下的 script2 中访问。我实际上进行了快速测试以确认这一点。

另一个注意事项

The Apps Script Properties service is in the cloud, and therefore not tied to any particular machine, environment, or operating system.



这部分证实了我的假设,即属性存储在运行 *.gs 脚本的 G 服务器上。

考虑到这一点,我会说使用 Properties Service 在某种程度上是可靠和安全的。

很高兴听到对此的任何评论。

最佳答案

取决于你如何确定它的范围。

  • 可以限定为一个脚本:
    var scriptProperties = PropertiesService.getScriptProperties();
    scriptProperties.setProperty('SERVER_URL', 'http://www.example.com/');
  • 一个脚本用户
    var userProperties = PropertiesService.getUserProperties();
    userProperties.setProperty('DISPLAY_UNITS', 'metric');
  • 或一份文件
    var documentProperties = PropertiesService.getDocumentProperties();
    documentProperties.setProperty('SOURCE_DATA_ID', '1234567890abcdefghijklmnopqrstuvwxyz');

  • 这是访问表 from the docs
    +--------------------+---------------------------------------------------------------------------------------------------+-------------------------------------------------------+-------------------------------------------------------------------+
    | | Script Properties | User Properties | Document Properties |
    +--------------------+---------------------------------------------------------------------------------------------------+-------------------------------------------------------+-------------------------------------------------------------------+
    | Method to access | getScriptProperties() | getUserProperties() | getDocumentProperties() |
    | Data shared among | All users of a script, add-on, or web app | The current user of a script, add-on, or web app | All users of an add-on in the open document |
    | Typically used for | App-wide configuration data, like the username and password for the developer's external database | User-specific settings, like metric or imperial units | Document-specific data, like the source URL for an embedded chart |
    +--------------------+---------------------------------------------------------------------------------------------------+-------------------------------------------------------+-------------------------------------------------------------------+

    没有明确的迹象表明属性的生命周期是多少或它们存储在哪里,但是从 quotas doc 中,我们知道:
  • 店铺绑定(bind)消费账号
  • 每个值最多可以存储 9kb,每个属性存储最多可以存储 500kb。 (ofc 如果您付费,您可以延长这些限制)
  • 所有限制都可能随时取消、减少或更改,恕不另行通知。
  • 关于google-apps-script - Google Apps 脚本中的 PropertiesService 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48782875/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com