使用 Google 日历删除事件 API

Deleting Events with Google Calendar API

参考: https://developers.google.com/calendar/v3/reference/events/delete

错误 后缺少名称。操作员。 (第 131 行,文件 "Code")

function deleteEvent() {

  for (var i = 1; i < datalastRow; i++) {

    var calendarId = sheet.getRange('E2').getValue();

    var delete_eventid = sheet.getRange(i + 1, 3).getValue()

      var params = {
        calendarId: calendarId,
        eventId: delete_eventid,
      };

      calendar.events.delete(params, function(err) {
        if (err) {
          console.log('The API returned an error: ' + err);
          return;
        }
        console.log('Event deleted.');
      });

  }

}

基本上当我尝试保存代码时 calendar.events.delete(params, function(err)) { 行抛出错误,我不确定为什么会发生这种情况,因为我可以 运行 calendar.events.insert 并且创建事件就好了, 但它似乎不喜欢 calendar.events.delete.

编辑:我删除了第一个答案中引用的多余“)”

你在这行有一个语法错误:

calendar.events.delete(params, function(err)) {

要删除的第二个参数应该是一个函数,但它应该是这样的:

calendar.events.delete(params, function(err) { ... })

不同之处在于第二个 ) 包装回调。

如果您使用 Google Apps 脚本,这个怎么样?您可以通过 deleteEvent() 删除事件。 deleteEvent() returns 无效。所以我为此使用了try-catch。

function deleteEvent() {
  var calendarId = sheet.getRange('E2').getValue();
  for (var i = 1; i < datalastRow; i++) {
    var delete_eventid = sheet.getRange(i + 1, 3).getValue();
    try {
      CalendarApp.getCalendarById(calendarId).getEventById(delete_eventid).deleteEvent();
    } catch(e) {
      console.error("Error deleting event " + delete_eventid + " from calendar " + calendarId + ". Error: " + e);
    }
  }
}