1
因此,基于大量的互联网侦察工作,我设法拼凑了一个使用Google表格创建全天日历条目的脚本。我希望为其创建事件的内容总共约有450行,但每次运行脚本时,它都永远不会结束,并且它永远不会创建EventId(解决重复内容),相反,它为我提供了一个“超出最大执行时间“错误。谷歌脚本“超出最大执行时间”/ Google Cal脚本
$ function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Export Events",
functionName : "exportEvents"
}];
sheet.addMenu("Calendar Actions", entries);
};
function exportEvents() {
var sheet = SpreadsheetApp.getActiveSheet();
var headerRows = 0; // Number of rows of header info (to skip)
var range = sheet.getDataRange();
var data = range.getValues();
var calId = "[email protected]";
var cal = CalendarApp.getCalendarById(calId);
for (i in data) {
if (i < headerRows) continue; // Skip header row(s)
var row = data[i];
var date = new Date(row[0]); // First column
var title = row[1]; // Second column
var id = row[3]; // Sixth column == eventId
// Check if event already exists, update it if it does
try {
var event = cal.getEventSeriesById(id);
}
catch (e) {
// do nothing - we just want to avoid the exception when event doesn't exist
}
if (!event) {
var newEvent = cal.createAllDayEvent(title, date).getId();
row[3] = newEvent; // Update the data array with event ID
}
else {
event.setTitle(title);
range.setValues(data);
}
debugger;
}
}
我的问题是:
- 我怎样才能避免这个错误?如果我将这些数据分成几个表单,这些工作是否可行?
- 对于我的生活,我无法得到eventiD部分填充...我设法在测试表上做到这一点,但我不能再做了...任何帮助将是太棒了!
为了参考我的片被设置为 日期/标题/ EVENTID
THANKS !!!!