This is the legacy documentation for Google Ads scripts. Go to the current docs.

Google Calendar

Stay organized with collections Save and categorize content based on your preferences.

List today's events on primary calendar

function listAllEventsForToday() {
  var calendarId = 'primary';
  var now = new Date();
  var startOfToday = new Date(now.getYear(), now.getMonth(), now.getDate(),
      0, 0, 0);
  var endOfToday = new Date(now.getYear(), now.getMonth(), now.getDate(),
      23, 59, 29);
  var calendarEvents = Calendar.Events.list(calendarId, {
    timeMin: startOfToday.toISOString(),
    timeMax: endOfToday.toISOString(),
    singleEvents: true,
    orderBy: 'startTime'
  });

  if (calendarEvents.items && calendarEvents.items.length > 0) {
    for (var i = 0; i < calendarEvents.items.length; i++) {
      var calendarEvent = calendarEvents.items[i];
      if (calendarEvent.start.date) {
        // All-day event.
        var start = parseDate(calendarEvent.start.date);
        Logger.log('%s (%s)', calendarEvent.summary,
                   start.toLocaleDateString());
      } else {
        var start = parseDate(calendarEvent.start.dateTime);
        Logger.log('%s (%s)', calendarEvent.summary, start.toLocaleString());
      }
    }
  } else {
    Logger.log('No events found.');
  }
}

Get all of the current user's calendars

function getAllCalendars() {
  var calendarList = Calendar.CalendarList.list();
  for (var i = 0; i < calendarList.items.length; i++) {
    var calendar = calendarList.items[i];
    Logger.log('%s, %s', calendar.id, calendar.description);
  }
}

Create event on one of the current user's calendar

function createEvent() {
  // You can find a Google Calendar's ID from its settings page.

  var calendarId = 'INSERT_CALENDAR_ID_HERE';

  // Nov 1, 2014 10:00:00 AM
  var start = new Date(2014, 10, 1, 10, 0, 0);

  // Nov 1, 2014 11:00:00 AM
  var end = new Date(2014, 10, 1, 11, 0, 0);

  var calendarEvent = {
    summary: 'Run account performance report',
    description: 'Run account performance report for Oct.',
    start: {
      dateTime: start.toISOString()
    },
    end: {
      dateTime: end.toISOString()
    },
    attendees: [
      {email: 'alice@example.com'},
      {email: 'bob@example.com'}
    ],
    // Red background. Use Calendar.Colors.get() for the full list.
    colorId: 11
  };
  calendarEvent = Calendar.Events.insert(calendarEvent, calendarId);
  Logger.log('New event with ID = %s was created.' + calendarEvent.getId());
}