Календарь скриптов Google Apps Apps Создать событие календаря успешно, но удалить событие календаря не удалось - PullRequest
0 голосов
/ 16 декабря 2018

Эти функции работают с нашими тестовыми корпоративными календарями Google, но не работают с производственными корпоративными календарями Google.В работе функция createCalendarEvent работает, но функция deleteCalendarEvent завершается сбоем, и ошибки не возвращается.Я использую OpenID Connect с тем же пользователем и тем же сценарием приложений.Безопасный доступ для пользователя был проверен на одинаковость для всех календарей.Вот функции:

function createCalendarEvent(calendarId, startDate, endDate, eventTitle, eventDescription) {
  var cal = CalendarApp.getCalendarById(calendarId);
  var start = new Date(startDate);
  var end = new Date(endDate);
  var options = {
    description: eventDescription,
    etags: {
      "title": eventTitle,
      "start": start,
      "end": end
    }
  }
  var event = cal.createAllDayEvent(eventTitle, start, end, options);
  return event.getId();
}

function deleteCalendarEvent(calendarId, eventId)  {
  var cal = CalendarApp.getCalendarById(calendarId);
  var event = cal.getEventById(eventId);
  event.deleteEvent();
}

1 Ответ

0 голосов
/ 16 декабря 2018

Вы можете сделать что-то подобное, чтобы убедиться, что у вас есть все параметры.

function deleteCalendarEvent(calendarId, eventId) {
  if(calendarId && eventId){
    CalendarApp.getCalendarById(calendarId).getEventById(eventId).deleteEvent();
  }else{
    throw('Error: in function deleteCalendarEvent. Invalid parameters.');
  }
}

Я бы изменил вашу функцию создания на:

function createCalendarEvent(calendarId, startDate, endDate, eventTitle, eventDescription) {
  var cal = CalendarApp.getCalendarById(calendarId);
  var start = new Date(startDate);
  var end = new Date(endDate);
  var options = {"description": eventDescription};
  var event = cal.createAllDayEvent(eventTitle, start, end, options);
  return event.getId();
}

И снова вы можете захотетьоберните их логикой, чтобы убедиться, что у вас есть все параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...