JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://www.google.com/jsapi"></script>

JavaScript

//Google Calendar object constructor
var oCal = function(type, entryId) {
    var myService;
    var updater = {};

    var eid = entryId; //global variable defined previously
    var feedUrl = 'http://www.google.com/calendar/feeds/default/private/full';

    function setupMyService() {
        myService = new google.gdata.calendar.CalendarService('exampleApp-exampleApp-1');
    }

    //startdate and enddate need to be formatted in ISO = "2007-09-23T18:00:00.000Z"

    function createEvent(startdate, enddate, subject, summary, name, address) {
        var entry = new google.gdata.calendar.CalendarEventEntry({
            title: {
                type: 'text',
                text: subject
            },
            content: {
                type: 'text',
                text: summary
            },
            locations: [{
                rel: 'g.event',
                label: 'Event Location',
                valueString: name + ', ' + address}],
            times: [{
                startTime: google.gdata.DateTime.fromIso8601(startdate),
                endTime: google.gdata.DateTime.fromIso8601(enddate)}]
        });
        return entry;
    }

    var callback = function(result) {
        alerter('Calendar updated, now saving event');
        saveEvent(result.entry.getSelfLink().getHref());
    };

    function handleEntry(result) {
        var entry = result.entry;

        entry.getTitle().setText(updater.title);
        entry.getContent().setText(updater.content);
        entry.getLocations()[0].setValueString(updater.location);
        entry.getTimes()[0].setStartTime(google.gdata.DateTime.fromIso8601(updater.sdate));
        entry.getTimes()[0].setEndTime(google.gdata.DateTime.fromIso8601(updater.edate));

        entry.updateEntry(handleUpdateEntry, handleError);
    }

    function handleDelete(result) {
        result.entry.deleteEntry(handleDeletedEntry, handleError);
    }

    function handleUpdateEntry(result) {
       ...