【问题标题】:Google Apps Script - Code optimization for writing to Google CalendarGoogle Apps 脚本 - 写入 Google 日历的代码优化
【发布时间】:2012-05-07 22:00:23
【问题描述】:

我目前正在编写一个脚本,旨在在 6 个月内为 50 人编写 Google 日历,每天一个活动。这些事件可以有不同的开始/结束时间,也可以是全天事件。日历将全部写入同一个 Google 帐户,用户将使用他们的个人帐户订阅它们。

日历的数据最初存储在 Google 电子表格中。我的脚本按照建议使用 getRange.getValues 方法一步读取此电子表格,但我找不到一种方法来“批量”写入,除非在 for 循环中使用 .createEvent 方法。由于运行时间过长(整个批次大约有 9000 个日历事件,超过了 5 分钟的范围),这个循环在大约 1/10 处被杀死。

如果我注释掉 .createEvent 行,脚本运行完全正常。

有没有办法优化对 Google 日历的写入(将数组传递给 .createEvent 或其他...)?

【问题讨论】:

    标签: google-calendar-api google-apps-script


    【解决方案1】:

    日历 API 没有批处理方法。你必须在“慢”循环中一一插入。

    我在脚本中使用的解决方案是将负载分成“可行”的块。您可以保存每行是否已处理,或者您可以将最后停止的行保存在某处(例如单元格或脚本属性)。然后,将您的脚本配置为在完成其份额(例如 3000 个事件)后自行停止。

    我不确定您是否已经看过它,但有一个新的dashboard,您可以在其中看到各种 API 的配额。似乎在您解决了这个时间限制配额之后,您会遇到日历。好消息是这个分散负载解决方案也将帮助您处理它。

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2019-07-05
      • 2013-04-21
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多