Я вставил код ниже. Чтобы объяснить, что должен делать код, нужно блокировать конференц-зал, чтобы он не мог быть зарезервирован для использования, это небольшая «комната для путаницы», которая будет заблокирована и доступна только для резервирования за неделю вперед.Сценарий Google Apps - резервирование календаря - не удалось создать событие
В любом случае, вот проблема, с которой я сталкиваюсь с кодом ниже. Если я запустил код, начиная с 1 января. Код будет запущен, а затем частично через март перестанет создавать события, если это произойдет ровно в начале месяца, это не будет проблемой, поскольку я мог бы легко начать с этой точки снова, или предположить, что месяц указан неправильно. Но он создает оговорки, хотя 18 марта. Также, когда я перезапустил это и установил его для создания заблокированных оговорок, начиная с начала апреля, он получил 8 декабря.
Мое первое предположение заключается в том, что мне нужно иметь дело с переформатированием кода для обработки месяцев без 31 дня, но я предположил, что те, кто не существует, просто выбросят ошибку, и лоп продолжит, и он прошел через февраль, это короткий месяц.
Просто подумайте, может быть, у кого-то, у кого больше опыта работы с Google Scripting, может возникнуть идея или увидеть недостаток в чем-то, что я делаю. Спасибо за любую помощь
function blockReservations(){
var roomcalendar = CalendarApp.getCalendarById('[email protected]m');
//for(var z=2014;z<=2020;z++){
//var year = z;
var year = '2014'; //This Line May be used in place of the above for loop to specify a specific year
for(var x=4;x<=12;x++)
{
if(x==1) var month = 'January';
else if(x==2) var month = 'February';
else if(x==3) var month = 'March';
else if(x==4) var month = 'April';
else if(x==5) var month = 'May';
else if(x==6) var month = 'June';
else if(x==7) var month = 'July';
else if(x==8) var month = 'August';
else if(x==9) var month = 'September';
else if(x==10) var month = 'October';
else if(x==11) var month = 'November';
else if(x==12) var month = 'December';
else month = 'null';
//var month = 'July'; //This Line May be used in place of the above for loop to specify a specific year
for(var y=1;y<=31;y++)
{
var date = y;
var startDateString = month + ' ' + date + ', ' + year +' 00:00:00';
var endDateString = month + ' ' + date + ', ' + year +' 24:00:00';
var event = roomcalendar.createEvent('Time Blocked', new Date(startDateString), new Date(endDateString));
}
}
// }
}