2 回答

TA貢獻1712條經驗 獲得超3個贊
您需要注意傳遞給函數的值。它們被列為“參數”,并在下面鏈接的方法的文檔中清楚地描述。
addWeeklyExclusion()
不接受任何值,但您試圖向其傳遞一個日期。setRecurrence(recurrence, startTime, endTime)
需要一個EventRecurrence對象,但您要向它傳遞一個數組。
每個事件系列都有一個recurrence
,并且recurrence
可能有多個例外。無需創建重復數組。
function createRecurringEvent() {
? const Tstart = new Date('December 5, 2020 04:00:00 PM EST');
? const Tstop = new Date('December 5, 2020 05:00:00 PM EST');
? const CEUntil = new Date('January 10, 2021');
??
? const recurrence = CalendarApp.newRecurrence()
? const rule = recurrence.addWeeklyRule().until(CEUntil);
??
? const exceptions = [ 'December 5, 2020', 'December 26, 2020' ];
? exceptions.forEach(function(exception) {
? ? rule.addDateExclusion(new Date(exception));
? });
??
? CalendarApp.getDefaultCalendar().createEventSeries(
? ? 'Recurring Event',
? ? Tstart,
? ? Tstop,
? ? recurrence
? );
}

TA貢獻1829條經驗 獲得超6個贊
在迭戈的大力幫助下,我的代碼得以運行。
這是更新事件的相關代碼片段,將異常排除在一系列事件之外:
var exceptions = record[26].split(',');
var event = calIndoorHall.getEventSeriesById(CEId);
var recurrence = CalendarApp.newRecurrence();
var rule = recurrence.addWeeklyRule().until(CEUntil);
exceptions.forEach(function(exception) {
rule.addDateExclusion(new Date(exception.toString()));
});
event.setRecurrence(recurrence, Tstart, Tstop);
看著這段代碼的美麗簡潔,我希望自己在 JS/GAS 方面能更流利一些。我想,這是(更多)練習的問題。
添加回答
舉報