CalendarEvent

Represents a single calendar event.

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#addEmailReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Adds a new email reminder to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#addGuest(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Adds a guest to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#addPopupReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Adds a new pop-up notification to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#addSmsReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Adds a new SMS reminder to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#anyoneCanAddSelf()` | `Boolean` | Determines whether people can add themselves as guests to a Calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#deleteEvent()` | `void` | Deletes a Calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#deleteTag(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Deletes a key/value tag from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getAllDayEndDate()` | `Date` | Gets the date on which this all-day calendar event ends. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getAllDayStartDate()` | `Date` | Gets the date on which this all-day calendar event begins. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getAllTagKeys()` | `String[]` | Gets all keys for tags that have been set on the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getColor()` | `String` | Returns the color of the calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getCreators()` | `String[]` | Gets the creators of an event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getDateCreated()` | `Date` | Gets the date the event was created. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getDescription()` | `String` | Gets the description of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getEmailReminders()` | `Integer[]` | Gets the minute values for all email reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getEndTime()` | `Date` | Gets the date and time at which this calendar event ends. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getEventSeries()` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series` | Gets the series of recurring events that this event belongs to. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getEventType()` | `https://developers.google.com/apps-script/reference/calendar/event-type` | Gets the `https://developers.google.com/apps-script/reference/calendar/event-type` of this event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getGuestByEmail(String)` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets a guest by email address. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getGuestList()` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets the guests for the event, not including the event owner. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getGuestList(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets the guests for the event, potentially including the event owners. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getId()` | `String` | Gets the unique iCalUID of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getLastUpdated()` | `Date` | Gets the date the event was last updated. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getLocation()` | `String` | Gets the location of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getMyStatus()` | `https://developers.google.com/apps-script/reference/calendar/guest-status` | Gets the event status (such as attending or invited) of the effective user. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getOriginalCalendarId()` | `String` | Get the ID of the calendar where this event was originally created. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getPopupReminders()` | `Integer[]` | Gets the minute values for all pop-up reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getSmsReminders()` | `Integer[]` | Gets the minute values for all SMS reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getStartTime()` | `Date` | Gets the date and time at which this calendar event begins. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getTag(String)` | `String` | Gets a tag value of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getTitle()` | `String` | Gets the title of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getTransparency()` | `https://developers.google.com/apps-script/reference/calendar/event-transparency` | Gets the transparency of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#getVisibility()` | `https://developers.google.com/apps-script/reference/calendar/visibility` | Gets the visibility of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#guestsCanInviteOthers()` | `Boolean` | Determines whether guests can invite other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#guestsCanModify()` | `Boolean` | Determines whether guests can modify the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#guestsCanSeeGuests()` | `Boolean` | Determines whether guests can see other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#isAllDayEvent()` | `Boolean` | Determines whether this is an all-day event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#isOwnedByMe()` | `Boolean` | Determines whether you're the owner of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#isRecurringEvent()` | `Boolean` | Determines whether the event is part of an event series. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#removeAllReminders()` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Removes all reminders from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#removeGuest(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Removes a guest from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#resetRemindersToDefault()` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Resets the reminders using the calendar's default settings. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setAllDayDate(Date)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the date of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setAllDayDates(Date,Date)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the dates of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setAnyoneCanAddSelf(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets whether non-guests can add themselves to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setColor(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the color of the calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setDescription(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the description of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setGuestsCanInviteOthers(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets whether guests can invite other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setGuestsCanModify(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets whether guests can modify the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setGuestsCanSeeGuests(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets whether guests can see other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setLocation(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the location of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setMyStatus(GuestStatus)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the event status (such as attending or invited) of the effective user. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setTag(String,String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets a key/value tag on the event, for storing custom metadata. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setTime(Date,Date)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the dates and times for the start and end of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setTitle(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the title of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setTransparency(EventTransparency)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | Sets the transparency of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event#setVisibility(Visibility)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event#` | 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.

```javascript
// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Throws


[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `addGuest(email)`

Adds a guest to the event.

```javascript
// Example 1: Add a guest to one event
function addAttendeeToEvent() {
  // Replace the below values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to add
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar containing
  // event
  const eventId = '123abc';  // ID of event instance

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  const 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
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to add
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar with the
  // events
  const startDate =
      new Date('YYYY-MM-DD');  // The first date to add the guest to the events
  const endDate =
      new Date('YYYY-MM-DD');  // The last date to add the guest to the events

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  // Get the events within the specified timeframe
  const 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 (let i = 0; i < calEvents.length; i++) {
    const event = calEvents[i];
    event.addGuest(attendeeEmail);
  }
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `email` | `String` | The email address of the guest. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- This `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Throws


[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `deleteEvent()`

Deletes a Calendar event.

```javascript
// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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 `https://developers.google.com/apps-script/reference/calendar/calendar-event#getEndTime()`.

```javascript
// 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`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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 `https://developers.google.com/apps-script/reference/calendar/calendar-event#getStartTime()`.

```javascript
// 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`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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 `https://developers.google.com/apps-script/reference/calendar/event-color`.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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](https://developers.google.com/apps-script/reference/calendar/calendar-event#isAllDayEvent()), `https://developers.google.com/apps-script/reference/calendar/calendar-event#getAllDayEndDate()` should almost
always be called in preference to this method.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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 `https://developers.google.com/apps-script/reference/calendar/calendar-event-series` object is returned even if this event doesn't belong to
a series, so that you can add new recurrence settings.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series` --- 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getEventType()`

Gets the `https://developers.google.com/apps-script/reference/calendar/event-type` of this event.

```javascript
// Opens the default calendar and logs all out-of-office events for the current day.
const calendar = CalendarApp.getDefaultCalendar();
const events = calendar.getEventsForDay(new Date());
console.log(events.filter(e => e.getEventType() === CalendarApp.EventType.OUT_OF_OFFICE));
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-type` --- The event type.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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('alex@example.com');

// 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


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getGuestList()`

Gets the guests for the event, not including the event owner.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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('alex@example.com');
event.addGuest('cruz@example.com');

// 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


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- an array of the guests

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- an array of the guests

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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`](https://developers.google.com/calendar/v3/reference/events#resource-representations) used by the
[Calendar v3 API](https://developers.google.com/calendar/v3/reference) and [Calendar advanced service](https://developers.google.com/apps-script/advanced/calendar) 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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com');
// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/guest-status` --- the status

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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](https://developers.google.com/apps-script/reference/calendar/calendar-event#isAllDayEvent()), `https://developers.google.com/apps-script/reference/calendar/calendar-event#getAllDayStartDate()` should
almost always be called in preference to this method.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@example.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getTransparency()`

Gets the transparency of the event. Use this method to determine whether an event is `
TRANSPARENT`, meaning the calendar shows as Available during that time, or `OPAQUE
`, meaning the calendar shows as Busy during that time.

```javascript
// Gets the first event from the default calendar for today.
const today = new Date();
const event = CalendarApp.getDefaultCalendar().getEventsForDay(today)[0];
// Gets the event's transparency and logs it.
const transparency = event.getTransparency();
Logger.log(transparency);
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-transparency` --- The transparency value.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/visibility` --- the visibility value

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `removeGuest(email)`

Removes a guest from the event.

```javascript
// Example 1: Remove a guest from one event
function removeGuestFromEvent() {
  // Replace the below values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to remove
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar containing
  // event
  const eventId = '123abc';  // ID of event instance

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  const 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
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to remove
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar with the
  // events
  const startDate = new Date(
      'YYYY-MM-DD');  // The first date to remove the guest from the events
  const endDate = new Date(
      'YYYY-MM-DD');  // The last date to remove the attendee from the events

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  // Get the events within the specified timeframe
  const 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 (let i = 0; i < calEvents.length; i++) {
    const event = calEvents[i];
    event.removeGuest(attendeeEmail);
  }
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `email` | `String` | the email address of the guest |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `resetRemindersToDefault()`

Resets the reminders using the calendar's default settings.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this CalendarEvent for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this CalendarEvent for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setAnyoneCanAddSelf(anyoneCanAddSelf)`

Sets whether non-guests can add themselves to the event.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setColor(color)`

Sets the color of the calendar event.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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 `https://developers.google.com/apps-script/reference/calendar/event-color`. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- This calendar event, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setDescription(description)`

Sets the description of the event.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setGuestsCanInviteOthers(guestsCanInviteOthers)`

Sets whether guests can invite other guests.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setLocation(location)`

Sets the location of the event.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@google.com'); 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` | `https://developers.google.com/apps-script/reference/calendar/guest-status` | the new status |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this CalendarEvent for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setTitle(title)`

Sets the title of the event.

```javascript
// 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(
    'abc123456@group.calendar.google.com',
);

// 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('abc123456@example.com'); 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


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setTransparency(transparency)`

Sets the transparency of the event. Use this method to set whether an event is `
TRANSPARENT`, meaning the calendar shows as Available during that time, or `OPAQUE
`, meaning the calendar shows as Busy during that time.

```javascript
// 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');
// Sets the event's transparency to TRANSPARENT.
event.setTransparency(CalendarApp.EventTransparency.TRANSPARENT);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `transparency` | `https://developers.google.com/apps-script/reference/calendar/event-transparency` | The transparency value. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- This `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `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` | `https://developers.google.com/apps-script/reference/calendar/visibility` |   |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`