对于每个项目,我有许多日历事件I (0 location),我使用calendar.getEventSeriesById(_event_id_).getLocation()。
这应该是一个灵活的UI,我的老板可以用来查看任何特定项目的<= 9不同事件的细节。但是,当使用此信息填充UI时,此单个调用会显著降低执行时间(根据服务器负载,加载5个事件最多可达10秒)。
由于UserProperties是帐户绑定的,并且所有的脚本都运行在同一个"boss“(经理)帐户下,UserProperties会成为一个可靠的解决方案来每学期(4个月)存储200+ eventIDs吗?因为我的其他脚本都没有设置属性,日历事件ID是唯一的,所以我不需要担心冲突/覆盖。但是,这个系统很大程度上依赖于这些键/值对,因此,对于通过某些自动化过程(不是我的脚本或者手动)清除UserProperties,或者其他形式的损坏,有什么担心吗?
是否有更多的方法来避免对这个用例过度调用CalendarApp?或者Spreadsheets/UserProperties是唯一的真正选择?->除了数据库之外,这也是过度的.
编辑:我实现了这个测试,UI的加载时间平均提高了大约500%,这是很棒的。但是,是否存在与UserProperties或ScriptProperties相关的可靠性问题?
发布于 2013-11-26 12:22:49
如果您的问题严格地说是关于可靠性的,那么答案肯定是是的--您可以依赖它(除了几年前我从未经历过任何故障),但是,正如Zig在他的回答中提到的那样,ScriptDb是为此而设的,并且保护得更好,因为没有人可以通过“正常”Ui访问它,并且意外地损坏了数据。
此外,如果您需要存储字符串值以外的任何内容,那么它将用于处理对象,从而简化流程。
发布于 2013-11-26 03:02:39
两种方法都不使用,它们不是用来做的。使用scriptDb。存储数据的gas帮助页面进一步解释了这一点。参见gas帮助和这个https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBjb7o4DDA
https://stackoverflow.com/questions/20206297
复制相似问题