function doGet(e) {
const cache = CacheService.getScriptCache();
const cached = cache.get("calendarData");
const callback = e.parameter.callback;
// キャッシュあれば即返す
if (cached) {
if (callback) {
return ContentService
.createTextOutput(callback + "(" + cached + ")")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
} else {
return ContentService
.createTextOutput(cached)
.setMimeType(ContentService.MimeType.JSON);
}
}
const calendar = CalendarApp.getDefaultCalendar();
const holidayCal = CalendarApp.getCalendarById("ja.japanese#holiday@group.v.calendar.google.com");
const today = new Date();
let result = [];
for (let i = -15; i < 45; i++) {
let base = new Date(today);
base.setDate(today.getDate() + i);
const week = ["日","月","火","水","木","金","土"];
const day = week[base.getDay()];
let isHoliday = (day === "日") || holidayCal.getEventsFor