Created
March 6, 2018 13:32
-
-
Save remoblaser/33ef87487b1ee7bf6564252d05dc2cf4 to your computer and use it in GitHub Desktop.
This Google Forms Script adds your Form automatically to a Google Calendar
This file contains 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
var moment = Moment.load(); | |
var GLOBAL = { | |
formId : "GOOGLE FORM ID", | |
calendarId : "GOOGLE CALENDAR ID", | |
formMap : { | |
eventTitle: "FORM FIELD TITLE NAME", | |
startTime : "FORM FIELD START TIME NAME", | |
description: "FORM FIELD DESCRIPTION NAME", | |
}, | |
} | |
function sendFormToCalendar() { | |
var eventObject = getFormResponse(); | |
var event = createCalendarEvent(eventObject); | |
} | |
function getFormResponse() { | |
var form = FormApp.openById(GLOBAL.formId), | |
responses = form.getResponses(), | |
length = responses.length, | |
lastResponse = responses[length-1], | |
itemResponses = lastResponse.getItemResponses(), | |
eventObject = {}; | |
for (var i = 0, x = itemResponses.length; i<x; i++) { | |
var thisItem = itemResponses[i].getItem().getTitle(), | |
thisResponse = itemResponses[i].getResponse(); | |
switch (thisItem) { | |
case GLOBAL.formMap.eventTitle: | |
eventObject.title = thisResponse; | |
break; | |
case GLOBAL.formMap.startTime: | |
eventObject.startTime = thisResponse; | |
break; | |
case GLOBAL.formMap.description: | |
eventObject.description = thisResponse; | |
break; | |
} | |
} | |
return eventObject; | |
} | |
function createCalendarEvent(eventObject) { | |
var calendar = CalendarApp.getCalendarById(GLOBAL.calendarId), | |
title = eventObject.title + " - " + eventObject.description, | |
startTime = moment(eventObject.startTime).toDate(), | |
endTime = moment(eventObject.startTime).toDate(); | |
var event = calendar.createEvent(title, startTime, endTime); | |
return event; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment