Represents a single calendar event.
Methods
Method | Return type | Brief description |
---|---|---|
addEmailReminder(minutesBefore) | CalendarEvent | Adds a new email reminder to the event. |
addGuest(email) | CalendarEvent | Adds a guest to the event. |
addPopupReminder(minutesBefore) | CalendarEvent | Adds a new pop-up notification to the event. |
addSmsReminder(minutesBefore) | CalendarEvent | Adds a new SMS reminder to the event. |
anyoneCanAddSelf() | Boolean | Determines whether people can add themselves as guests to a Calendar event. |
deleteEvent() | void | Deletes a Calendar event. |
deleteTag(key) | CalendarEvent | Deletes a key/value tag from the event. |
getAllDayEndDate() | Date | Gets the date on which this all-day calendar event ends. |
getAllDayStartDate() | Date | Gets the date on which this all-day calendar event begins. |
getAllTagKeys() | String[] | Gets all keys for tags that have been set on the event. |
getColor() | String | Returns the color of the calendar event. |
getCreators() | String[] | Gets the creators of an event. |
getDateCreated() | Date | Gets the date the event was created. |
getDescription() | String | Gets the description of the event. |
getEmailReminders() | Integer[] | Gets the minute values for all email reminders for the event. |
getEndTime() | Date | Gets the date and time at which this calendar event ends. |
getEventSeries() | CalendarEventSeries | Gets the series of recurring events that this event belongs to. |
getGuestByEmail(email) | EventGuest | Gets a guest by email address. |
getGuestList() | EventGuest[] | Gets the guests for the event, not including the event owner. |
getGuestList(includeOwner) | EventGuest[] | Gets the guests for the event, potentially including the event owners. |
getId() | String | Gets the unique iCalUID of the event. |
getLastUpdated() | Date | Gets the date the event was last updated. |
getLocation() | String | Gets the location of the event. |
getMyStatus() | GuestStatus | Gets the event status (such as attending or invited) of the effective user. |
getOriginalCalendarId() | String | Get the ID of the calendar where this event was originally created. |
getPopupReminders() | Integer[] | Gets the minute values for all pop-up reminders for the event. |
getSmsReminders() | Integer[] | Gets the minute values for all SMS reminders for the event. |
getStartTime() | Date | Gets the date and time at which this calendar event begins. |
getTag(key) | String | Gets a tag value of the event. |
getTitle() | String | Gets the title of the event. |
getVisibility() | Visibility | Gets the visibility of the event. |
guestsCanInviteOthers() | Boolean | Determines whether guests can invite other guests. |
guestsCanModify() | Boolean | Determines whether guests can modify the event. |
guestsCanSeeGuests() | Boolean | Determines whether guests can see other guests. |
isAllDayEvent() | Boolean | Determines whether this is an all-day event. |
isOwnedByMe() | Boolean | Determines whether you're the owner of the event. |
isRecurringEvent() | Boolean | Determines whether the event is part of an event series. |
removeAllReminders() | CalendarEvent | Removes all reminders from the event. |
removeGuest(email) | CalendarEvent | Removes a guest from the event. |
resetRemindersToDefault() | CalendarEvent | Resets the reminders using the calendar's default settings. |
setAllDayDate(date) | CalendarEvent | Sets the date of the event. |
setAllDayDates(startDate, endDate) | CalendarEvent | Sets the dates of the event. |
setAnyoneCanAddSelf(anyoneCanAddSelf) | CalendarEvent | Sets whether non-guests can add themselves to the event. |
setColor(color) | CalendarEvent | Sets the color of the calendar event. |
setDescription(description) | CalendarEvent | Sets the description of the event. |
setGuestsCanInviteOthers(guestsCanInviteOthers) | CalendarEvent | Sets whether guests can invite other guests. |
setGuestsCanModify(guestsCanModify) | CalendarEvent | Sets whether guests can modify the event. |
setGuestsCanSeeGuests(guestsCanSeeGuests) | CalendarEvent | Sets whether guests can see other guests. |
setLocation(location) | CalendarEvent | Sets the location of the event. |
setMyStatus(status) | CalendarEvent | Sets the event status (such as attending or invited) of the effective user. |
setTag(key, value) | CalendarEvent | Sets a key/value tag on the event, for storing custom metadata. |
setTime(startTime, endTime) | CalendarEvent | Sets the dates and times for the start and end of the event. |
setTitle(title) | CalendarEvent | Sets the title of the event. |
setVisibility(visibility) | CalendarEvent | Sets the visibility of the event. |
Detailed documentation
addEmailReminder(minutesBefore)
Adds a new email reminder to the event. The reminder must be at least 5 minutes, and at most 4 weeks (40320 minutes), before the event.
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Adds an email notification for 15 minutes before the event. event.addEmailReminder(15);
Parameters
Name | Type | Description |
---|---|---|
minutesBefore | Integer | the number of minutes before the event |
Return
CalendarEvent
— this CalendarEvent
for chaining
Throws
Error
— if there are more than 5 reminders on the event or the time is not
within the legal range
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
addGuest(email)
Adds a guest to the event.
// Example 1: Add a guest to one event function addAttendeeToEvent() { // Replace the below values with your own let attendeeEmail = '[email protected]'; // Email address of the person you need to add let calendarId = '[email protected]'; // ID of calendar containing event let eventId = '123abc'; // ID of event instance let calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } let event = calendar.getEventById(eventId); if (event === null) { // Event not found console.log('Event not found', eventId); return; } event.addGuest(attendeeEmail); } // Example 2: Add a guest to all events on a calendar within a specified timeframe function addAttendeeToAllEvents(){ // Replace the following values with your own let attendeeEmail = '[email protected]'; // Email address of the person you need to add let calendarId = '[email protected]'; // ID of calendar with the events let startDate = new Date("YYYY-MM-DD"); // The first date to add the guest to the events let endDate = new Date("YYYY-MM-DD"); // The last date to add the guest to the events let calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } // Get the events within the specified timeframe let calEvents = calendar.getEvents(startDate,endDate); console.log(calEvents.length); // Checks how many events are found // Loop through all events and add the attendee to each of them for (var i = 0; i < calEvents.length; i++) { let event = calEvents[i]; event.addGuest(attendeeEmail); } }
Parameters
Name | Type | Description |
---|---|---|
email | String | The email address of the guest. |
Return
CalendarEvent
— This CalendarEvent
for chaining.
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
addPopupReminder(minutesBefore)
Adds a new pop-up notification to the event. The notification must be at least 5 minutes, and at most 4 weeks (40320 minutes), before the event.
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Adds a pop-up notification for 15 minutes before the event. event.addPopupReminder(15);
Parameters
Name | Type | Description |
---|---|---|
minutesBefore | Integer | the number of minutes before the event |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
addSmsReminder(minutesBefore)
Adds a new SMS reminder to the event. The reminder must be at least 5 minutes, and at most 4 weeks (40320 minutes), before the event.
Parameters
Name | Type | Description |
---|---|---|
minutesBefore | Integer | the number of minutes before the event |
Return
CalendarEvent
— this CalendarEvent
for chaining
Throws
Error
— if there are more than 5 reminders on the event or the time is not
within the legal range
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
anyoneCanAddSelf()
Determines whether people can add themselves as guests to a Calendar event.
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Determines whether people can add themselves as guests to the event and logs it. console.log(event.anyoneCanAddSelf());
Return
Boolean
— true
if non-guests can add themselves to the event; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
deleteEvent()
Deletes a Calendar event.
// Gets an event by its ID. // TODO(developer): Replace the string with the ID of the event that you want to delete. const event = CalendarApp.getEventById('abc123456'); // Deletes the event. event.deleteEvent();
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
deleteTag(key)
Deletes a key/value tag from the event.
Parameters
Name | Type | Description |
---|---|---|
key | String | the tag key |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
getAllDayEndDate()
Gets the date on which this all-day calendar event ends. (If this is not an all-day event, then
this method throws an exception.) The returned Date
represents midnight at the
beginning of the day after the event ends in the script's time zone. To use the
calendar's time zone instead, call getEndTime()
.
// Gets the user's default calendar. To get a different calendar, use getCalendarById() // instead. const calendar = CalendarApp.getDefaultCalendar(); // Creates an event named 'My all-day event' for May 16, 2023. const event = calendar.createAllDayEvent('My all-day event', new Date('May 16, 2023')); // Gets the event's end date and logs it. const endDate = event.getAllDayEndDate(); console.log(endDate);
Return
Date
— this all-day calendar event's end date
Throws
Error
— if this event is not an all-day event
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getAllDayStartDate()
Gets the date on which this all-day calendar event begins. (If this is not an all-day event,
then this method throws an exception.) The returned Date
represents midnight at the
beginning of the day on which the event starts in the script's time zone. To use the
calendar's time zone instead, call getStartTime()
.
// Gets the user's default calendar. To get a different calendar, use getCalendarById() // instead. const calendar = CalendarApp.getDefaultCalendar(); // Creates an event named 'My all-day event' for May 16, 2023. const event = calendar.createAllDayEvent('My all-day event', new Date('May 16, 2023')); // Gets the event's start date and logs it. const startDate = event.getAllDayStartDate(); console.log(startDate);
Return
Date
— this all-day calendar event's start date
Throws
Error
— if this event is not an all-day event
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getAllTagKeys()
Gets all keys for tags that have been set on the event.
Return
String[]
— an array of string keys
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getColor()
Returns the color of the calendar event.
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Gets the color of the calendar event and logs it. const eventColor = event.getColor(); console.log(eventColor);
Return
String
— The string representation of the event color, as an index (1-11) of values from CalendarApp.EventColor
.
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getCreators()
Gets the creators of an event.
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Gets a list of the creators of the event and logs it. console.log(event.getCreators());
Return
String[]
— the email addresses of the event's creators
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getDateCreated()
Gets the date the event was created. You must have access to the calendar.
// Opens the calendar by using its ID. // To get the user's default calendar use CalendarApp.getDefault() instead. // TODO(developer): Replace the calendar ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 8:10 AM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 08:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, gets the date that the event // was created and logs it. const eventCreated = event.getDateCreated(); console.log(eventCreated); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Date
— the date of creation
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getDescription()
Gets the description of the event. You must have edit access to the calendar.
// Opens the calendar by its ID. // To get the user's default calendar use CalendarApp.getDefault() instead. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 4th, 2023 that takes place between 4:00 PM and 5:00 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 04, 2023 16:00:00'), new Date('Feb 04, 2023 17:00:00'))[0]; if (event) { // If an event exists within the given time frame, sets the description of the event. event.setDescription('Important meeting'); // Gets the description of the event and logs it. const description = event.getDescription(); console.log(description); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
String
— the description
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getEmailReminders()
Gets the minute values for all email reminders for the event. You must have edit access to the calendar.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 4th, 2023 that takes place between 5:00 PM and 6:00 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 04, 2023 15:00:00'), new Date('Feb 04, 2023 18:00:00'))[0]; if (event) { // If an event exists within the given time frame, adds email reminders for the user to be // sent at 4 and 7 minutes before the event. event.addEmailReminder(4); event.addEmailReminder(7); // Gets the minute values for all email reminders that are set up for the user for this event // and logs it. const emailReminder = event.getEmailReminders(); console.log(emailReminder); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Integer[]
— an array in which each value corresponds to the number of minutes before the event that
a reminder triggers
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getEndTime()
Gets the date and time at which this calendar event ends. You must have access to the calendar. For non–all-day events, this is the instant in time at which the event was defined to end. For all-day events, which only store an end date (not a date and time), this is midnight at the beginning of the day after the event ends in the calendar's time zone. This allows meaningful comparison of end times for all types of events; however, it does not necessarily preserve the original day-of-year unmodified.
For all-day events, getAllDayEndDate()
should almost
always be called in preference to this method.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:00 PM and 5:00 PM. const event = calendar.getEvents(new Date('Feb 01, 2023 16:00:00'), new Date('Feb 01, 2023 17:00:00'))[0]; if (event) { // If an event exists within the given time frame, gets the date and time at which the // event ends and logs it. console.log(event.getEndTime()); } else { // If no event exists within the given time frame, logs that info to the console. console.log('No events exist for the specified range'); }
Return
Date
— this calendar event's end time
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getEventSeries()
Gets the series of recurring events that this event belongs to. You must have access to the
calendar. A CalendarEventSeries
object is returned even if this event doesn't belong to
a series, so that you can add new recurrence settings.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 18th, 2023 that takes place between // 1:00 PM and 2:00 PM. const event = calendar.getEvents(new Date('Feb 18, 2023 13:00:00'), new Date('Feb 18, 2023 14:00:00'))[0]; if (event) { // If an event exists within the given time frame, gets the event series for the event // and sets the color to pale green. event.getEventSeries().setColor(CalendarApp.EventColor.PALE_GREEN); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
CalendarEventSeries
— the event series this event belongs to, or a new event series if it does not yet belong
to a series
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getGuestByEmail(email)
Gets a guest by email address.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 25th, 2023 that takes place // between 5:00 PM and 5:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'))[0]; // Gets a guest by email address. const guestEmailId = event.getGuestByEmail('[email protected]'); // If the email address corresponds to an event guest, logs the email address. if (guestEmailId) { console.log(guestEmailId.getEmail()); }
Parameters
Name | Type | Description |
---|---|---|
email | String | the address of the guest |
Return
EventGuest
— the guest, or null if the email address does not correspond to a guest
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
getGuestList()
Gets the guests for the event, not including the event owner.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 25th, 2023 that takes place // between 5:00 PM and 5:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'))[0]; // Adds two guests to the event by using their email addresses. event.addGuest('[email protected]'); event.addGuest('[email protected]'); // Gets the guests list for the event. const guestList = event.getGuestList(); // Loops through the list to get all the guests and logs their email addresses. for (const guest of guestList){ console.log(guest.getEmail()); }
Return
EventGuest[]
— an array of the guests
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getGuestList(includeOwner)
Gets the guests for the event, potentially including the event owners.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 25th, 2023 that takes place // between 5:00 PM and 5:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'))[0]; // Gets the guests list for the event, including the owner of the event. const guestList = event.getGuestList(true); // Loops through the list to get all the guests and logs it. for (const guest of guestList) { console.log(guest.getEmail()); }
Parameters
Name | Type | Description |
---|---|---|
includeOwner | Boolean | whether to include the owners as a guest |
Return
EventGuest[]
— an array of the guests
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getId()
Gets the unique iCalUID of the event. Note that the iCalUID and the event id
used by the
Calendar v3 API and Calendar advanced service are not identical and
cannot be used interchangeably. One difference in their semantics is that in recurring events
all occurrences of one event have different ids
while they all share the same iCalUIDs.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for January 5th, 2023 that takes place // between 9:00 AM and 9:25 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Jan 05, 2023 09:00:00'), new Date('Jan 05, 2023 09:25:00'))[0]; // Gets the ID of the event and logs it. console.log(event.getId());
Return
String
— the iCalUID of the event
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getLastUpdated()
Gets the date the event was last updated.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place between 4:00 PM and 5:00 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:00:00'), new Date('Feb 01, 2023 17:00:00'))[0]; // Gets the date the event was last updated and logs it. const eventUpdatedDate = event.getLastUpdated(); console.log(eventUpdatedDate);
Return
Date
— the last updated date
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getLocation()
Gets the location of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, sets the location of the event to Mumbai. event.setLocation('Mumbai'); // Gets the location of the event and logs it. const eventLocation = event.getLocation(); console.log(eventLocation); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
String
— the event location
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getMyStatus()
Gets the event status (such as attending or invited) of the effective user. Always returns
GuestStatus.OWNER
if the effective user is the owner of the event.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected].'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, gets the event status of // the effective user and logs it. const myStatus = event.getMyStatus(); console.log(myStatus.toString()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
GuestStatus
— the status
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getOriginalCalendarId()
Get the ID of the calendar where this event was originally created.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 25th, 2023 that takes place // between 4:00 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 25,2023 16:00:00'), new Date('Feb 25,2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, gets the ID of the calendar where the // event was originally created and logs it. const calendarId = event.getOriginalCalendarId(); console.log(calendarId); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
String
— the ID of the original calendar
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getPopupReminders()
Gets the minute values for all pop-up reminders for the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 4th, 2023 that takes place // between 5:05 PM and 5:35 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 04, 2023 17:05:00'), new Date('Feb 04, 2023 17:35:00'))[0]; if (event) { // If an event exists within the given time frame, adds two pop-up reminders to the event. // The first reminder pops up 5 minutes before the event starts and the second reminder // pops up 3 minutes before the event starts. event.addPopupReminder(3); event.addPopupReminder(5); // Gets the minute values for all pop-up reminders for the event and logs it. const popUpReminder = event.getPopupReminders(); console.log(popUpReminder); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Integer[]
— an array in which each value corresponds to the number of minutes before the event that
a reminder triggers
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getSmsReminders()
Gets the minute values for all SMS reminders for the event.
Return
Integer[]
— an array in which each value corresponds to the number of minutes before the event that
a reminder triggers
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getStartTime()
Gets the date and time at which this calendar event begins. For non–all-day events, this is the instant in time at which the event was defined to start. For all-day events, which only store a start date (not a date and time), this is midnight at the beginning of the day on which the event starts in the calendar's time zone. This allows meaningful comparison of start times for all types of events; however, it is not necessarily preserve the original day-of-year unmodified.
For all-day events, getAllDayStartDate()
should
almost always be called in preference to this method.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; // Gets the date and time at which this calendar event begins and logs it. const startTime = event.getStartTime(); console.log(startTime);
Return
Date
— this calendar event's start time
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getTag(key)
Gets a tag value of the event.
Parameters
Name | Type | Description |
---|---|---|
key | String | the key |
Return
String
— the tag value
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getTitle()
Gets the title of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for January 31st, 2023 that takes place // between 9:05 AM and 9:15 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'))[0]; if (event) { // If an event exists within the given time frame, logs the title of the event. console.log(event.getTitle()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
String
— the title
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getVisibility()
Gets the visibility of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, gets the visibility of the event // and logs it. const eventVisibility = event.getVisibility(); console.log(eventVisibility.toString()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Visibility
— the visibility value
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
guestsCanInviteOthers()
Determines whether guests can invite other guests.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 9:35 AM and 9:40 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'))[0]; if (event) { // If an event exists within the given time frame, determines whether guests can invite // other guests and logs it. console.log(event.guestsCanInviteOthers()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Boolean
— true
if guests can invite others; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
guestsCanModify()
Determines whether guests can modify the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 9:35 AM and 9:40 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'))[0]; if (event) { // If an event exists within the given time frame, sets the event so that guests can't // modify it. event.setGuestsCanModify(false); // Determines whether guests can modify the event and logs it. console.log(event.guestsCanModify()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Boolean
— true
if guests can modify the event; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
guestsCanSeeGuests()
Determines whether guests can see other guests.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 9:35 AM and 9:40 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'))[0]; if (event) { // If an event exists within the given time frame, determines whether guests can see other // guests and logs it. console.log(event.guestsCanSeeGuests()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Boolean
— true
if guests can see other guests; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
isAllDayEvent()
Determines whether this is an all-day event.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for January 31st, 2023 that takes place // between 9:05 AM and 9:15 AM. const event = calendar.getEvents(new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'))[0]; // Determines whether this event is an all-day event and logs it. console.log(event.isAllDayEvent());
Return
Boolean
— true
if the event is all-day; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
isOwnedByMe()
Determines whether you're the owner of the event.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for January 31st, 2023 that takes place // between 9:05 AM and 9:15 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'))[0]; if (event) { // If an event exists within the given time frame, determines whether you're the owner // of the event and logs it. console.log(event.isOwnedByMe()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Boolean
— true
if the event is owned by the effective user; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
isRecurringEvent()
Determines whether the event is part of an event series.
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for Januart 31st, 2023 that takes place // between 9:00 AM and 10:00 AM. const event = calendar.getEvents(new Date('Jan 31, 2023 09:00:00'), new Date('Jan 31, 2023 10:00:00'))[0]; if (event) { // If an event exists within the given time frame, determines whether the event is part of an // event series and logs it. console.log(event.isRecurringEvent()); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
Boolean
— true
if the event is part of an event series; false
if not
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
removeAllReminders()
Removes all reminders from the event.
// Opens the calendar by its ID. You must have edit access to the calendar // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 1,2023 16:10:00'), new Date('Feb 1,2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, removes all reminders from the event. event.removeAllReminders(); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
removeGuest(email)
Removes a guest from the event.
// Example 1: Remove a guest from one event function removeGuestFromEvent() { // Replace the below values with your own let attendeeEmail = '[email protected]'; // Email address of the person you need to remove let calendarId = '[email protected]'; // ID of calendar containing event let eventId = '123abc'; // ID of event instance let calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } let event = calendar.getEventById(eventId); if (event === null) { // Event not found console.log('Event not found', eventId); return; } event.removeGuest(attendeeEmail); } // Example 2: Remove a guest from all events on a calendar within a specified timeframe function removeGuestFromAllEvents(){ // Replace the following values with your own let attendeeEmail = '[email protected]'; // Email address of the person you need to remove let calendarId = '[email protected]'; // ID of calendar with the events let startDate = new Date("YYYY-MM-DD"); // The first date to remove the guest from the events let endDate = new Date("YYYY-MM-DD"); // The last date to remove the attendee from the events let calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } // Get the events within the specified timeframe let calEvents = calendar.getEvents(startDate,endDate); console.log(calEvents.length); // Checks how many events are found // Loop through all events and remove the attendee from each of them for (var i = 0; i < calEvents.length; i++) { let event = calEvents[i]; event.removeGuest(attendeeEmail); } }
Parameters
Name | Type | Description |
---|---|---|
email | String | the email address of the guest |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
resetRemindersToDefault()
Resets the reminders using the calendar's default settings.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 1, 2023 16:10:00'), new Date('Feb 1, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, resets the reminders using the calendar's // default settings. event.resetRemindersToDefault(); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setAllDayDate(date)
Sets the date of the event. Applying this method changes a regular event into an all-day event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 17th, 2023 that takes place // between 4:00 PM and 5:00 PM. const event = calendar.getEvents(new Date('Feb 17, 2023 16:00:00'), new Date('Feb 17, 2023 17:00:00'))[0]; if (event) { // If an event exists within the given time frame, sets the date of the event and updates // it to an all-day event. event.setAllDayDate(new Date('Feb 17, 2023')); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
date | Date | the date for the event (the time is ignored) |
Return
CalendarEvent
— this CalendarEvent for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setAllDayDates(startDate, endDate)
Sets the dates of the event. Applying this method changes a regular event into an all-day event.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 18th, 2023 that takes place // between 4:00 PM and 5:00 PM. const event = calendar.getEvents(new Date('Feb 18, 2023 16:00:00'), new Date('Feb 18, 2023 17:00:00'))[0]; if (event) { // If an event exists within the given time frame, sets the event to be an all-day event from // Feb 18th, 2023 until Feb 25th, 2023. Applying this method changes a regular event into an // all-day event. event.setAllDayDates(new Date('Feb 18, 2023'), new Date('Feb 25, 2023')); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
startDate | Date | the date when the event starts (the time is ignored) |
endDate | Date | the date when the event ends (the time is ignored) |
Return
CalendarEvent
— this CalendarEvent for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setAnyoneCanAddSelf(anyoneCanAddSelf)
Sets whether non-guests can add themselves to the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 15th, 2023 that takes place // between 3:30 PM and 4:30 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 15, 2023 15:30:00'), new Date('Feb 15, 2023 16:30:00'))[0]; if (event) { // If an event exists within the given time frame, sets the event so that non-guests // can't add themselves to the event. event.setAnyoneCanAddSelf(false); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
anyoneCanAddSelf | Boolean | whether anyone can invite themselves |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setColor(color)
Sets the color of the calendar event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, sets the color of the calendar event to // green. event.setColor(CalendarApp.EventColor.GREEN); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
color | String | An integer color index as a string, or a value from CalendarApp.EventColor . |
Return
CalendarEvent
— This calendar event, for chaining.
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setDescription(description)
Sets the description of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 4th, 2023 that takes place // between 5:05 PM and 5:35 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 04, 2023 17:05:00'), new Date('Feb 04, 2023 17:35:00'))[0]; if (event) { // If an event exists within the given time frame, sets the description of the event to // 'Meeting.' event.setDescription('Meeting'); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
description | String | the new description |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setGuestsCanInviteOthers(guestsCanInviteOthers)
Sets whether guests can invite other guests.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. You must have edit access to the calendar. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 9:35 AM and 9:40 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'))[0]; if (event) { // If an event exists within the given time frame, sets the event so that guests can invite // other guests. event.setGuestsCanInviteOthers(true); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
guestsCanInviteOthers | Boolean | whether guests can invite others |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setGuestsCanModify(guestsCanModify)
Sets whether guests can modify the event.
Parameters
Name | Type | Description |
---|---|---|
guestsCanModify | Boolean | whether guests can modify the event |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setGuestsCanSeeGuests(guestsCanSeeGuests)
Sets whether guests can see other guests.
Parameters
Name | Type | Description |
---|---|---|
guestsCanSeeGuests | Boolean | whether guests can see others |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setLocation(location)
Sets the location of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, sets the location of the event to Noida. event.setLocation('Noida'); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
location | String | the new location |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setMyStatus(status)
Sets the event status (such as attending or invited) of the effective user.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for February 1st, 2023 that takes place // between 4:10 PM and 4:25 PM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'))[0]; if (event) { // If an event exists within the given time frame, sets the event status for the current user to maybe. event.setMyStatus(CalendarApp.GuestStatus.MAYBE); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
status | GuestStatus | the new status |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
setTag(key, value)
Sets a key/value tag on the event, for storing custom metadata.
Parameters
Name | Type | Description |
---|---|---|
key | String | the tag key |
value | String | the tag value |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setTime(startTime, endTime)
Sets the dates and times for the start and end of the event. Applying this method changes an all-day event into a regular event.
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Declares a start time of 11:00 AM on February 20th, 2023 and an end time of 12:00 PM on // February 20th, 2023. const startTime = new Date('Feb 20,2023 11:00:00'); const endTime = new Date('Feb 20, 2023 12:00:00'); // Creates an all-day event on February 20th, 2023. const event = calendar.createAllDayEvent('Meeting', new Date('Feb 20,2023')); // Updates the all-day event to a regular event by setting a start and end time for the event. event.setTime(startTime, endTime);
Parameters
Name | Type | Description |
---|---|---|
startTime | Date | the new start of the event |
endTime | Date | the new end of the event |
Return
CalendarEvent
— this CalendarEvent for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setTitle(title)
Sets the title of the event.
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById('[email protected]'); // Gets the first event from the calendar for January 31st, 2023 that takes place // between 9:05 AM and 9:15 AM. // For an event series, use calendar.getEventSeriesById('[email protected]'); // and replace the series ID with your own. const event = calendar.getEvents(new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'))[0]; if (event) { // If an event exists within the given time frame, changes its title to Event1. event.setTitle('Event1'); } else { // If no event exists within the given time frame, logs that information to the console. console.log('No events exist for the specified range'); }
Parameters
Name | Type | Description |
---|---|---|
title | String | the new title |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
setVisibility(visibility)
Sets the visibility of the event.
Parameters
Name | Type | Description |
---|---|---|
visibility | Visibility |
Return
CalendarEvent
— this CalendarEvent
for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes or appropriate scopes from the related REST API:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds