我正在尝试将电子表格文档中每一行的日历事件有条件地添加到2个日历中。
function createCalendarEvent(calendarId, row) {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var lastName = spreadsheet.getRange(row, 4).getValue();
var firstName = spreadsheet.getRange(row, 3).getValue();
var title = lastName + ", " + firstName;
var eventDate = spreadsheet.getRange(row, 12).getValue();
var startTime = new Date(spreadsheet.getRange(row, 14).getValue());
var endTime = new Date(spreadsheet.getRange(row, 15).getValue());
var startDate = new Date(startTime.getTime());
var endDate = new Date(endTime.getTime());
startDate.setYear(eventDate.getYear());
startDate.setMonth(eventDate.getMonth());
startDate.setDate(eventDate.getDate());
endDate.setYear(eventDate.getYear());
endDate.setMonth(eventDate.getMonth());
endDate.setDate(eventDate.getDate());
var calendar = CalendarApp.getCalendarById(calendarId);
Logger.log(calendar.getName());
Logger.log(calendar.isOwnedByMe());
Logger.log(calendar.getId());
Logger.log(calendar.setSelected(true));
var event = CalendarApp.getDefaultCalendar().createEvent(title,
startDate, endDate);
Logger.log('Event ID: ' + event.getId());
}
我拥有并作为参数传递给函数的2个日历ID如下:
"[my email username]@[my organization domain].com"
和
"[somename].com_00t1jhqpsu15fcprbl98qg8erk@group.calendar.google.com"
执行时,总是将事件添加到第一个事件中。
知道为什么会这样吗?
答案 0 :(得分:0)
您正在默认日历中创建活动:
var event = CalendarApp.getDefaultCalendar().createEvent(title, startDate, endDate);
You can find the documentation here
尝试将其更改为:
var event = calendar.createEvent(title, startDate, endDate);
通过这种方式,您将使用在该行中通过ID找到的日历:
var calendar = CalendarApp.getCalendarById(calendarId);