Created
February 12, 2023 12:37
-
-
Save scottpdawson/f5c0bcbb6896af5b7f5f0fafca9ab70f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const calendarId = "ENTER_CALENDAR_ID"; | |
const uniqueEventSuffix = "[MOONCAL]"; | |
const dataRange = "A2:C"; | |
function deleteAutoCreatedEvents() { | |
var eventCal = CalendarApp.getCalendarById(calendarId); | |
var startOfCurrentYear = new Date(new Date().getFullYear(), 0, 1); | |
var endOfCurrentYear = new Date(new Date().getFullYear(), 11, 31) | |
var events = eventCal.getEvents(startOfCurrentYear, endOfCurrentYear); | |
for(var i=0; i < events.length; i++) { | |
var ev = events[i]; | |
var title = ev.getTitle(); | |
if (title.indexOf(uniqueEventSuffix) >-1) { | |
ev.deleteEvent(); | |
} | |
} | |
} | |
function addEventsToCalendar() { | |
var spreadsheet = SpreadsheetApp.getActiveSheet(); | |
var eventCal = CalendarApp.getCalendarById(calendarId); | |
var rawEvents = spreadsheet.getRange(dataRange).getValues(); | |
var events = rawEvents.filter(function(r){ | |
return r.join("").length > 0; | |
}); | |
deleteAutoCreatedEvents(); | |
for (var event of events) { | |
var date = event[0]; | |
var name = event[1]; | |
var description = event[2]; | |
var lineBreak = "\r\n"; | |
var eventTitle = `${name} ${uniqueEventSuffix}`; | |
var eventDescription = `${description} ${lineBreak}${lineBreak}via https://www.space.com/39238-full-moon-names.html`; | |
var newEvent = eventCal.createAllDayEvent(eventTitle, date, { | |
description: eventDescription, | |
location: 'Up in the sky', | |
}); | |
Logger.log(`Added ${eventTitle} on ${date} (${newEvent.getId()})`); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment