如何同步谷歌日历与谷歌电子表格



我的目标是自动同步谷歌日历和谷歌电子表格。每次将事件添加到日历中时,都应该将行添加到google电子表格中。我编写了一个脚本,将即将发生的事件列表加载到google电子表格中。这段代码运行正常,每次运行脚本时都会添加10个事件的列表。然而,我想要的是自动运行这个脚本时,一个事件是通过谷歌日历创建的,我想避免重复的事件。这种事件侦听器有什么功能可用?

function listUpcomingEvents() {
  var calendarId = 'alueducation.com_rtjgosrsgo9f4c6hqm5urebs68@group.calendar.google.com';
  var optionalArgs = {
    timeMin: (new Date()).toISOString(),
    showDeleted: false,
    singleEvents: true,
    maxResults: 10,
    orderBy: 'startTime'
  };
  var response = Calendar.Events.list(calendarId, optionalArgs);
  var events = response.items;
  if (events.length > 0) {
    for (i = 0; i < events.length; i++) {
      var event = events[i];
      var when = event.start.dateTime;
      if (!when) {
        when = event.start.date;
      }
      Logger.log('%s (%s)', event.summary, when);
      addEventToSheet(event.summary, when);
    }
  } else {
    Logger.log('No upcoming events found.');
  }
}
function addEventToSheet(sumarry, date) {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow([sumarry, date]);
}

简短回答

使用时间驱动触发器

<标题>

在这个时候谷歌应用程序脚本不能绑定一个脚本到谷歌日历。另一种选择是使用绑定到电子表格或独立脚本,因此此时不可能在创建与表单响应提交相反的事件时触发脚本。

<标题>引用
  • 脚本类型触发器和事件

相关内容

  • 没有找到相关文章

最新更新