【问题标题】:CalendarApp CreateEvent creates the event on the wrong calendar (calendar with different id)CalendarApp CreateEvent 在错误的日历上创建事件(具有不同 ID 的日历)
【发布时间】:2019-09-09 14:11:51
【问题描述】:

我正在尝试为我的电子表格文档中的每一行有条件地将日历事件添加到 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"

当它执行时,它总是将事件添加到第一个事件。

知道为什么会发生这种情况吗?

【问题讨论】:

    标签: google-apps-script google-calendar-api google-sheets-api


    【解决方案1】:

    您正在默认日历中创建活动:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多