我正在尝试编写一个脚本,该脚本将从Google电子表格中获取数据并在Google日历中创建事件。
我管理得很好,但是每次运行它都会产生重复。因此,现在我试图通过在电子表格中创建第17列来为每行自动生成唯一的事件ID来防止这种情况,然后每次运行脚本时,脚本都会查看每行的事件ID并删除相应的事件在日历中重新创建原始数据或更新后的数据(如果我更改了该行)。
我不熟悉任何一种脚本并将它们拼凑在一起,但是现在却碰壁了。谁能帮忙解决这个问题?
function CalInsert() {
var cal = CalendarApp.getDefaultCalendar();
var id = SpreadsheetApp.getActiveSheet().getRange(2,17).getValue();
if (id != 0) {
var event = cal.getEventSeriesById(id);
event.deleteEventSeries();
}
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow(); // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var title = row[0]; // First column
var desc = row[13]; // Second column
var tstart = row[14];
var tstop = row[15];
var event = cal.createEvent(title, tstart, tstop, {description:desc});
var eventid = event.getId();
SpreadsheetApp.getActiveSheet().getRange(2,17).setValue(eventid);
}
}
侃侃无极
相关分类