【发布时间】:2021-06-27 13:26:05
【问题描述】:
我正在使用一个简单的脚本来同步 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);
}
}
【问题讨论】:
-
您可以获取最短开始时间和最长结束时间并搜索该范围内的事件标题,然后他们会使用 indexOf() 或 includes() 检查您的新名称是否在最后一个;
-
最适合您的解决方案取决于您如何使用此电子表格。你能给我们解释一下你是如何使用它的吗?为什么范围总是
B2:D15? (您是否在重复使用电子表格?) -
@Martí 我不能说我将桌子用于其预期目的。该表的真正目的是从 Google 获取数据形式“姓名”“电子邮件”“假期开始”“假期结束”,然后将它们与 Google 日历同步(使用我上面指出的脚本)唯一的问题是我想在表中更改时在日历中实现更新数据,但不重复旧事件)
-
@Cooper 谢谢。当我了解更多信息时,我会尝试实现它:D
-
@ArtemLisovets 如果您找到了一种使其正常工作的方法,如果您愿意分享,我很乐意看到您的解决方案。
标签: google-apps-script google-calendar-api