Google Calendar

  • The provided code snippets demonstrate how to interact with a user's Google Calendar using the Calendar API.

  • You can list all events for the current day on the primary calendar, retrieving details like summary and start time.

  • There is a function to retrieve a list of all calendars associated with the current user, including their ID and description.

  • The code also shows how to create a new event on a specified calendar with details like summary, description, start and end times, attendees, and color.

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);  console.log('%s (%s)', calendarEvent.summary,  start.toLocaleDateString());  } else {  var start = parseDate(calendarEvent.start.dateTime);  console.log('%s (%s)', calendarEvent.summary, start.toLocaleString());  }  }  } else {  console.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];  console.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);  console.log('New event with ID = %s was created.' + calendarEvent.getId()); }