同步 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。如果是,您可以编辑已经存在的事件;如果不是,您创建一个新的。
我留下了一些您可能必须使用的功能的参考。另外,如果有什么不清楚或需要进一步解释的地方,请告诉我们:)
参考资料
我正在使用一个简单的脚本来同步 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。如果是,您可以编辑已经存在的事件;如果不是,您创建一个新的。
我留下了一些您可能必须使用的功能的参考。另外,如果有什么不清楚或需要进一步解释的地方,请告诉我们:)