防止从电子表格添加到日历时出现重复事件
Prevent duplicate events when adding from spreadsheet to calendar
此问题与此处提出的问题有关,但此示例不使用日历应用程序,而是使用高级日历服务
我被困在如何防止重复出现,因为getEventSeriesById在这里不起作用。
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Export Events",
functionName : "exportEvents"
}];
sheet.addMenu("Calendar Actions", entries);
};
function exportEvents() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Calendar");
var headerRows = 1;
var range = sheet.getDataRange();
var data = range.getValues();
var calId = 'MY_ID';
for (i=0; i<data.length; i++) {
if (i < headerRows) continue;
var row = data[i];
var date = row[0];
var endDate = row[1];
var title = row[2];
var desc = row[3];
var id = row[4];
var color = row[5];
var newEvent = {
summary: title,
description: desc,
"start": {
"date": date
},
"end": {
"date": endDate
},
colorId: color
};
newEvent = Calendar.Events.insert(newEvent, calId);
row[4] = newEvent.id
/* //this bit does not work
if (id === 1) {
var delEvent = Calendar.Events.remove(calId, id);
delEvent.execute;
}
*/
range.setValues(data);
}
}
这是一个解决方案:
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Export Events",
functionName : "exportEvents"
}];
sheet.addMenu("Calendar Actions", entries);
};
function exportEvents() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Calendar");
var headerRows = 1;
var range = sheet.getDataRange();
var data = range.getValues();
var calId = 'insert cal id';
for (i=0; i<data.length; i++) {
if (i < headerRows) continue;
var row = data[i];
var date = row[0];
var endDate = row[1];
var title = row[2];
var desc = row[3];
var id = row[4];
var color = row[5];
var check = row[6];
var newEvent = {
summary: title,
description: desc,
"start": {
"date": date
},
"end": {
"date": endDate
},
colorId: color
};
newEvent = Calendar.Events.insert(newEvent, calId);
row[4] = newEvent.id
if (check == 1) {
var delEvent = Calendar.Events.remove(calId, id);
} else {
newEvent.execute;
}
range.setValues(data);
}
}
相关文章:
- jQuery完整日历添加事件,仅包含月份和日期
- 如何使用2个事件单击1个日历
- 使用jQuery在js中创建日历上的事件,i'I’我被一只奇怪的虫子卡住了
- 搜索日历事件的Javascript正则表达式
- Day在完整日历中单击特定日期的事件警报
- 事件函数完整日历中的多个ajax调用
- 如何将完整日历事件限制为仅一天
- 完整日历在多个资源上添加一个事件
- 完整日历 - 在事件上拖放图标
- 删除外部事件时获取完整日历上的资源 ID
- 比较日期时,全日历中的 DayClick 事件警报
- 如何使用javascript、jquery、html和css制作基本的事件日历
- 使用jquery的事件日历
- Wijemo事件日历绑定到角度控制器
- 如何在c#MVC web项目中制作一个简单的事件日历
- 我想从数据库加载事件日历,返回值失去效果和日期不显示
- 将事件添加到事件日历中
- 如何自定义fullcalendar,一个javascript事件日历
- 尝试使用日期picker javascript创建事件日历
- 事件日历的数据库大小