同步 Google 表和 Google 日历时如何解决重复问题

How to fix the problem with duplicates when synchronizing Google tables and Google Calendar

我正在使用一个简单的脚本来同步 google 表格和 google 日历,效果很好。但是在添加新事件的时候,每次都会重复添加之前的事件,这个问题怎么解决呢?谢谢。

我的脚本

function scheduleShifts() {
  const spreadsheet = SpreadsheetApp.getActiveSheet();
  const calendarId = spreadsheet.getRange("E1").getValue();
  const eventCal = CalendarApp.getCalendarById(calendarId);
  const signups = spreadsheet.getRange("B2:D15").getValues();
  for (let x = 0; x < signups.length; x++) {
    const shift = signups[x];
    const name = shift[0];
    const startTime = shift[1];
    const endTime = shift[2];
    eventCal.createEvent(name, startTime, endTime);
  }
}

我认为最简单的方法是添加一个列,用于保存每一行的事件 ID。修改一行时,您可以检查是否设置了事件 ID。如果是,您可以编辑已经存在的事件;如果不是,您创建一个新的。

我留下了一些您可能必须使用的功能的参考。另外,如果有什么不清楚或需要进一步解释的地方,请告诉我们:)

参考资料