gas-types-detailed
Version:
Detailed Google Apps Script Type Definitions. Forked from Definitely Typed @types/google-apps-script. Adds full documentation and urls.
1,004 lines (947 loc) • 207 kB
TypeScript
// Type definitions for Google Apps Script 2023-10-28
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen <https://github.com/motemen/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="google-apps-script.types.d.ts" />
/// <reference path="google-apps-script.base.d.ts" />
declare namespace GoogleAppsScript {
namespace Calendar {
/**
* Represents a calendar that the user owns or is subscribed to.
*/
interface Calendar {
/**
* Creates a new all-day event.
*
*
* // Creates an all-day event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',
* new Date('July 20, 1969'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEvent(String,Date)
* @param title The title of the event.
* @param date The date of the event (only the day is used; the time is ignored).
*/
createAllDayEvent(title: string, date: Date): CalendarEvent;
/**
* Creates a new all-day event that can span multiple days.
*
*
* // Creates an all-day event for the Woodstock festival (August 15th to 17th) and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Woodstock Festival',
* new Date('August 15, 1969'),
* new Date('August 18, 1969'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEvent(String,Date,Date)
* @param title The title of the event.
* @param startDate The date when the event starts (only the day is used; the time is ignored).
* @param endDate The date when the event ends (only the day is used; the time is ignored). The end date is exclusive.
*/
createAllDayEvent(title: string, startDate: Date, endDate: Date): CalendarEvent;
/**
* Creates a new all-day event that can span multiple days.
*
*
* // Creates an all-day event for the Woodstock festival (August 15th to 17th) and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Woodstock Festival',
* new Date('August 15, 1969'),
* new Date('August 18, 1969'),
* {location: 'Bethel, White Lake, New York, U.S.', sendInvites: true});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEvent(String,Date,Date,Object)
* @param title The title of the event.
* @param startDate The date when the event starts (only the day is used; the time is ignored).
* @param endDate The date when the event ends (only the day is used; the time is ignored). The end date is exclusive.
* @param options A JavaScript object that specifies advanced parameters, as listed below.
*/
createAllDayEvent(title: string, startDate: Date, endDate: Date, options: any): CalendarEvent;
/**
* Creates a new all-day event.
*
*
* // Creates an all-day event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',
* new Date('July 20, 1969'),
* {location: 'The Moon'});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEvent(String,Date,Object)
* @param title The title of the event.
* @param date The date of the event (only the day is used; the time is ignored).
* @param options A JavaScript object that specifies advanced parameters, as listed below.
*/
createAllDayEvent(title: string, date: Date, options: any): CalendarEvent;
/**
* Creates a new all-day event series.
*
*
* // Creates an event series for a no-meetings day, taking place every Wednesday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings',
* new Date('January 2, 2013 03:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
* .until(new Date('January 1, 2014')));
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEventSeries(String,Date,EventRecurrence)
* @param title the title of the events in the series
* @param startDate the date of the first event in the series (only the day is used; the time is ignored)
* @param recurrence the recurrence settings of the event series
*/
createAllDayEventSeries(title: string, startDate: Date, recurrence: EventRecurrence): CalendarEventSeries;
/**
* Creates a new all-day event series.
*
*
* // Creates an event series for a no-meetings day, taking place every Wednesday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings',
* new Date('January 2, 2013 03:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
* .until(new Date('January 1, 2014')),
* {guests: 'everyone@example.com'});
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createAllDayEventSeries(String,Date,EventRecurrence,Object)
* @param title the title of the events in the series
* @param startDate the date of the first event in the series (only the day is used; the time is ignored)
* @param recurrence the recurrence settings of the event series
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createAllDayEventSeries(title: string, startDate: Date, recurrence: EventRecurrence, options: any): CalendarEventSeries;
/**
* Creates a new event.
*
*
* If no time zone is specified, the time values are interpreted in the context of the script's
* time zone, which may be different than the calendar's time zone.
*
*
* // Creates an event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:00:00 UTC'),
* new Date('July 21, 1969 21:00:00 UTC'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createEvent(String,Date,Date)
* @param title the title of the event
* @param startTime the date and time when the event starts
* @param endTime the date and time when the event ends
*/
createEvent(title: string, startTime: Date, endTime: Date): CalendarEvent;
/**
* Creates a new event.
*
*
* If no time zone is specified, the time values are interpreted in the context of the script's
* time zone, which may be different than the calendar's time zone.
*
*
* // Creates an event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:00:00 UTC'),
* new Date('July 20, 1969 21:00:00 UTC'),
* {location: 'The Moon'});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createEvent(String,Date,Date,Object)
* @param title the title of the event
* @param startTime the date and time when the event starts
* @param endTime the date and time when the event ends
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createEvent(title: string, startTime: Date, endTime: Date, options: any): CalendarEvent;
/**
* Creates an event from a free-form description.
*
*
* The description should use the same format as the UI's "Quick Add" feature.
*
*
* // Creates a new event and logs its ID.
* var event = CalendarApp.getDefaultCalendar()
* .createEventFromDescription('Lunch with Mary, Friday at 1PM');
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createEventFromDescription(String)
* @param description a free-form description of the event
*/
createEventFromDescription(description: string): CalendarEvent;
/**
* Creates a new event series.
*
*
* // Creates an event series for a team meeting, taking place every Tuesday and Thursday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting',
* new Date('January 1, 2013 03:00:00 PM EST'),
* new Date('January 1, 2013 04:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY])
* .until(new Date('January 1, 2014')));
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createEventSeries(String,Date,Date,EventRecurrence)
* @param title the title of the events in the series
* @param startTime the date and time when the first event in the series starts
* @param endTime the date and time when the first event in the series ends
* @param recurrence the recurrence settings of the event series
*/
createEventSeries(title: string, startTime: Date, endTime: Date, recurrence: EventRecurrence): CalendarEventSeries;
/**
* Creates a new event series.
*
*
* // Creates an event series for a team meeting, taking place every Tuesday and Thursday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting',
* new Date('January 1, 2013 03:00:00 PM EST'),
* new Date('January 1, 2013 04:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY])
* .until(new Date('January 1, 2014')),
* {location: 'Conference Room'});
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar#createEventSeries(String,Date,Date,EventRecurrence,Object)
* @param title the title of the events in the series
* @param startTime the date and time when the first event in the series starts
* @param endTime the date and time when the first event in the series ends
* @param recurrence the recurrence settings of the event series
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createEventSeries(title: string, startTime: Date, endTime: Date, recurrence: EventRecurrence, options: any): CalendarEventSeries;
/**
* Deletes the calendar permanently. A user can only delete a calendar they own.
*
*
* // Creates a calendar to delete.
* const calendar = CalendarApp.createCalendar('Test');
*
* // Deletes the 'Test' calendar permanently.
* calendar.deleteCalendar();
* https://developers.google.com/apps-script/reference/calendar/calendar#deleteCalendar()
*/
deleteCalendar(): void;
/**
* Gets the color of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Gets the color of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getColor() instead.
* const calendarColor = calendar.getColor();
* console.log(calendarColor);
* https://developers.google.com/apps-script/reference/calendar/calendar#getColor()
*/
getColor(): string;
/**
* Gets the description of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Sets the description of the calendar to 'Test description.'
* calendar.setDescription('Test description');
*
* // Gets the description of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getDescription() instead.
* const description = calendar.getDescription();
* console.log(description);
* https://developers.google.com/apps-script/reference/calendar/calendar#getDescription()
*/
getDescription(): string;
/**
* Gets the event with the given ID. If the series belongs to a calendar other than the default
* calendar, this method must be called from that calendar. Calling CalendarApp.getEventById(iCalId) only
* returns an event in the default calendar.
*
*
* Multiple events may have the same ID if they are part of an event series. In this case this
* method returns only the first event from that series.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com')
*
* // Creates an event for the moon landing.
* const event = calendar.createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:05:00 UTC'),
* new Date('July 20, 1969 20:17:00 UTC'));
*
* // Gets the calendar event ID and logs it to the console.
* const iCalId = event.getId();
* console.log(iCalId);
*
* // Gets the event by its ID and logs the title of the event to the console.
* // For the default calendar, you can use CalendarApp.getEventById(iCalId) instead.
* const myEvent = calendar.getEventById(iCalId);
* console.log(myEvent.getTitle());
* https://developers.google.com/apps-script/reference/calendar/calendar#getEventById(String)
* @param iCalId ID of the event.
*/
getEventById(iCalId: string): CalendarEvent;
/**
* Gets the event series with the given ID. If the ID given is for a single CalendarEvent,
* then a CalendarEventSeries is returned with a single event in the series. Note that if
* the event series belongs to a calendar other than the default calendar, this method must be
* called from that Calendar; calling CalendarApp.getEventSeriesById(iCalId)
* directly only returns an event series that exists in the default calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Creates an event series for a daily team meeting from 1 PM to 2 PM.
* // The series adds the daily event from January 1, 2023 through December 31, 2023.
* const eventSeries = calendar.createEventSeries('Team meeting',
* new Date('Jan 1, 2023 13:00:00'),
* new Date('Jan 1, 2023 14:00:00'),
* CalendarApp.newRecurrence().addDailyRule().until(new Date('Jan 1, 2024')));
*
* // Gets the ID of the event series.
* const iCalId = eventSeries.getId();
*
* // Gets the event series by its ID and logs the series title to the console.
* // For the default calendar, you can use CalendarApp.getEventSeriesById(iCalId) instead.
* console.log(calendar.getEventSeriesById(iCalId).getTitle());
* https://developers.google.com/apps-script/reference/calendar/calendar#getEventSeriesById(String)
* @param iCalId ID of the event series.
*/
getEventSeriesById(iCalId: string): CalendarEventSeries;
/**
* Gets all events that occur within a given time range.
*
*
* This method returns events that start during the given time range, end during the time
* range, or encompass the time range. If no time zone is specified, the time values are
* interpreted in the context of the script's time zone, which may be different from the
* calendar's time zone.
*
*
* // Determines how many events are happening in the next two hours.
* var now = new Date();
* var twoHoursFromNow = new Date(now.getTime() + (2 * 60 * 60 * 1000));
* var events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow);
* Logger.log('Number of events: ' + events.length);
* https://developers.google.com/apps-script/reference/calendar/calendar#getEvents(Date,Date)
* @param startTime the start of the time range
* @param endTime the end of the time range, non-inclusive
*/
getEvents(startTime: Date, endTime: Date): CalendarEvent[];
/**
* Gets all events that occur within a given time range and meet the specified criteria.
*
*
* This method returns events that start during the given time range, ends during the time
* range, or encompasses the time range. If no time zone is specified, the time values are
* interpreted in the context of the script's time zone, which may be different from the
* calendar's time zone.
*
*
* Be aware that filtering on author, search, or statusFilters takes
* place after applying start and max. This means that the number of events
* returned may be less than max, even though additional events meet the criteria.
*
*
* // Determines how many events are happening in the next two hours that contain the term
* // "meeting".
* var now = new Date();
* var twoHoursFromNow = new Date(now.getTime() + (2 * 60 * 60 * 1000));
* var events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow,
* {search: 'meeting'});
* Logger.log('Number of events: ' + events.length);
* https://developers.google.com/apps-script/reference/calendar/calendar#getEvents(Date,Date,Object)
* @param startTime the start of the time range
* @param endTime the end of the time range, non-inclusive
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
getEvents(startTime: Date, endTime: Date, options: any): CalendarEvent[];
/**
* Gets all events that occur on a given day.
*
*
* This method returns events if they start during the given day, end during the day, or
* encompass the day.
*
*
* Note that only the date portion of the Date object is used, and the time portion is ignored.
* The date is interpreted as midnight that day to midnight the next day in the calendar's time
* zone.
*
*
* // Determines how many events are happening today.
* var today = new Date();
* var events = CalendarApp.getDefaultCalendar().getEventsForDay(today);
* Logger.log('Number of events: ' + events.length);
* https://developers.google.com/apps-script/reference/calendar/calendar#getEventsForDay(Date)
* @param date the date to retrieve events for (only the day is used; the time is ignored)
*/
getEventsForDay(date: Date): CalendarEvent[];
/**
* Gets all events that occur on a given day and meet specified criteria.
*
*
* This method returns events if they start during the given day, end during the day, or
* encompass the day.
*
*
* Note that only the date portion of the Date object is used, and the time portion is ignored.
* The date is interpreted as midnight that day to midnight the next day in the calendar's time
* zone.
*
*
* Be aware that filtering on author, search, or statusFilters takes
* place after applying start and max. This means that the number of events
* returned may be less than max, even though additional events meet the criteria.
*
*
* // Determines how many events are happening today and contain the term "meeting".
* var today = new Date();
* var events = CalendarApp.getDefaultCalendar().getEventsForDay(today, {search: 'meeting'});
* Logger.log('Number of events: ' + events.length);
* https://developers.google.com/apps-script/reference/calendar/calendar#getEventsForDay(Date,Object)
* @param date the date to retrieve events for (only the day is used; the time is ignored)
* @param options advanced filtering options
*/
getEventsForDay(date: Date, options: any): CalendarEvent[];
/**
* Gets the ID of the calendar. The ID for a user's default calendar is their email address.
*
*
* // Opens the calendar by its ID.
* // To get the user's default calendar, use CalendarApp.getDefaultCalendar().
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Gets the ID of the calendar and logs it to the console.
* const calendarId = calendar.getId();
* console.log(calendarId);
* https://developers.google.com/apps-script/reference/calendar/calendar#getId()
*/
getId(): string;
/**
* Gets the name of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Gets the name of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getName() instead.
* const calendarName = calendar.getName();
* console.log(calendarName);
* https://developers.google.com/apps-script/reference/calendar/calendar#getName()
*/
getName(): string;
/**
* Gets the time zone of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Gets the time zone of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getTimeZone() instead.
* const timeZone = calendar.getTimeZone();
* console.log(timeZone);
* https://developers.google.com/apps-script/reference/calendar/calendar#getTimeZone()
*/
getTimeZone(): string;
/**
* Determines whether the calendar is hidden in the user interface.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Determines whether the calendar is hidden in the user interface and logs it to the console.
* // For the default calendar, you can use CalendarApp.isHidden() instead.
* const isHidden = calendar.isHidden();
* console.log(isHidden);
* https://developers.google.com/apps-script/reference/calendar/calendar#isHidden()
*/
isHidden(): boolean;
/**
* Determines whether the calendar is the primary calendar for the effective user.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Determines whether the calendar is the default calendar for
* // the effective user and logs it to the console.
* // For the default calendar, you can use CalendarApp.isMyPrimaryCalendar() instead.
* const isMyPrimaryCalendar = calendar.isMyPrimaryCalendar();
* console.log(isMyPrimaryCalendar);
* https://developers.google.com/apps-script/reference/calendar/calendar#isMyPrimaryCalendar()
*/
isMyPrimaryCalendar(): boolean;
/**
* Determines whether the calendar is owned by you.
*
*
* // Gets a calendar by its ID. To get the user's default calendar, use
* // CalendarApp.getDefault() instead.
* // TODO(developer): Replace the ID with the calendar ID that you want to use.
* const calendar = CalendarApp.getCalendarById('abc123456@group.calendar.google.com');
*
* // Determines whether the calendar is owned by you and logs it.
* console.log(calendar.isOwnedByMe());
* https://developers.google.com/apps-script/reference/calendar/calendar#isOwnedByMe()
*/
isOwnedByMe(): boolean;
/**
* Determines whether the calendar's events are displayed in the user interface.
*
*
* // Gets the user's default calendar. To get a different calendar, use getCalendarById()
* // instead.
* const calendar = CalendarApp.getDefaultCalendar();
*
* // Determines whether the calendar's events are displayed in the user interface and logs it.
* console.log(calendar.isSelected());
* https://developers.google.com/apps-script/reference/calendar/calendar#isSelected()
*/
isSelected(): boolean;
/**
* Sets the color of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Sets the color of the calendar to pink using the Calendar Color enum.
* // For the default calendar, you can use CalendarApp.setColor() instead.
* calendar.setColor(CalendarApp.Color.PINK);
* https://developers.google.com/apps-script/reference/calendar/calendar#setColor(String)
* @param color A CalendarApp.Color or a hexadecimal color string ("#rrggbb").
*/
setColor(color: string): Calendar;
/**
* Sets the description of a calendar.
*
*
* // Gets the user's default calendar. To get a different calendar, use getCalendarById()
* // instead.
* const calendar = CalendarApp.getDefaultCalendar();
*
* // Sets the description of the calendar.
* // TODO(developer): Update the string with the description that you want to use.
* calendar.setDescription('Updated calendar description.')
* https://developers.google.com/apps-script/reference/calendar/calendar#setDescription(String)
* @param description the description of this calendar
*/
setDescription(description: string): Calendar;
/**
* Sets whether the calendar is visible in the user interface.
* https://developers.google.com/apps-script/reference/calendar/calendar#setHidden(Boolean)
* @param hidden true to hide the calendar in the user interface; false to show it
*/
setHidden(hidden: boolean): Calendar;
/**
* Sets the name of the calendar.
*
*
* // Gets the user's default calendar. To get a different calendar, use getCalendarById()
* // instead.
* const calendar = CalendarApp.getDefaultCalendar();
*
* // Sets the name of the calendar.
* // TODO(developer): Update the string with the name that you want to use.
* calendar.setName('Example calendar name');
* https://developers.google.com/apps-script/reference/calendar/calendar#setName(String)
* @param name the new name
*/
setName(name: string): Calendar;
/**
* Sets whether the calendar's events are displayed in the user interface.
*
*
* // Gets the user's default calendar. To get a different calendar, use getCalendarById()
* // instead.
* const calendar = CalendarApp.getDefaultCalendar();
*
* // Selects the calendar so that its events are displayed in the user interface. To
* // unselect the calendar, set the parameter to false.
* calendar.setSelected(true);
* https://developers.google.com/apps-script/reference/calendar/calendar#setSelected(Boolean)
* @param selected true to show the calendar's events in the user interface; false to hide them
*/
setSelected(selected: boolean): Calendar;
/**
* Sets the time zone of the calendar.
*
*
* // Gets the user's default calendar. To get a different calendar, use getCalendarById()
* // instead.
* const calendar = CalendarApp.getDefaultCalendar();
*
* // Sets the time zone of the calendar to America/New York (US/Eastern) time.
* calendar.setTimeZone('America/New_York');
* https://developers.google.com/apps-script/reference/calendar/calendar#setTimeZone(String)
* @param timeZone The time zone, specified in "long" format (such as "America/New_York", as listed by Joda.org).
*/
setTimeZone(timeZone: string): Calendar;
/**
* Unsubscribes the user from a calendar. A user can't unsubscribe from calendars listed under the
* My calendars list. They can unsubscribe from calendars listed under Other
* calendars.
*
*
* // Gets the calendar by its ID.
* // TODO(developer): Replace the calendar ID with the calendar ID that you want to get.
* const calendar = CalendarApp.getCalendarById('abc123456@group.calendar.google.com');
*
* // Unsubscribes the user from the calendar.
* const result = calendar.unsubscribeFromCalendar();
* https://developers.google.com/apps-script/reference/calendar/calendar#unsubscribeFromCalendar()
*/
unsubscribeFromCalendar(): void;
}
/**
* Allows a script to read and update the user's Google Calendar. This class provides direct access
* to the user's default calendar, as well as the ability to retrieve additional calendars that the
* user owns or is subscribed to.
*/
interface CalendarApp {
Color: typeof Color;
EventColor: typeof EventColor;
GuestStatus: typeof GuestStatus;
Month: typeof Base.Month;
Visibility: typeof Visibility;
Weekday: typeof Base.Weekday;
/**
* Creates a new all-day event.
*
*
* // Creates an all-day event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',
* new Date('July 20, 1969'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEvent(String,Date)
* @param title The title of the event.
* @param date The date of the event (only the day is used; the time is ignored).
*/
createAllDayEvent(title: string, date: Date): CalendarEvent;
/**
* Creates a new all-day event that can span multiple days.
*
*
* // Creates an all-day event for the Woodstock festival (August 15th to 17th) and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Woodstock Festival',
* new Date('August 15, 1969'),
* new Date('August 18, 1969'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEvent(String,Date,Date)
* @param title The title of the event.
* @param startDate The date when the event starts (only the day is used; the time is ignored).
* @param endDate The date when the event ends (only the day is used; the time is ignored). The end date is exclusive.
*/
createAllDayEvent(title: string, startDate: Date, endDate: Date): CalendarEvent;
/**
* Creates a new all-day event that can span multiple days.
*
*
* // Creates an all-day event for the Woodstock festival (August 15th to 17th) and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Woodstock Festival',
* new Date('August 15, 1969'),
* new Date('August 18, 1969'),
* {location: 'Bethel, White Lake, New York, U.S.', sendInvites: true});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEvent(String,Date,Date,Object)
* @param title The title of the event.
* @param startDate The date when the event starts (only the day is used; the time is ignored).
* @param endDate The date when the event ends (only the day is used; the time is ignored). The end date is exclusive.
* @param options A JavaScript object that specifies advanced parameters, as listed below.
*/
createAllDayEvent(title: string, startDate: Date, endDate: Date, options: any): CalendarEvent;
/**
* Creates a new all-day event.
*
*
* // Creates an all-day event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',
* new Date('July 20, 1969'),
* {location: 'The Moon'});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEvent(String,Date,Object)
* @param title The title of the event.
* @param date The date of the event (only the day is used; the time is ignored).
* @param options A JavaScript object that specifies advanced parameters, as listed below.
*/
createAllDayEvent(title: string, date: Date, options: any): CalendarEvent;
/**
* Creates a new all-day event series.
*
*
* // Creates an event series for a no-meetings day, taking place every Wednesday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings',
* new Date('January 2, 2013 03:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
* .until(new Date('January 1, 2014')));
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEventSeries(String,Date,EventRecurrence)
* @param title the title of the events in the series
* @param startDate the date of the first event in the series (only the day is used; the time is ignored)
* @param recurrence the recurrence settings of the event series
*/
createAllDayEventSeries(title: string, startDate: Date, recurrence: EventRecurrence): CalendarEventSeries;
/**
* Creates a new all-day event series.
*
*
* // Creates an event series for a no-meetings day, taking place every Wednesday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings',
* new Date('January 2, 2013 03:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
* .until(new Date('January 1, 2014')),
* {guests: 'everyone@example.com'});
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createAllDayEventSeries(String,Date,EventRecurrence,Object)
* @param title the title of the events in the series
* @param startDate the date of the first event in the series (only the day is used; the time is ignored)
* @param recurrence the recurrence settings of the event series
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createAllDayEventSeries(title: string, startDate: Date, recurrence: EventRecurrence, options: any): CalendarEventSeries;
/**
* Creates a new calendar, owned by the user.
*
*
* // Creates a new calendar named "Travel Plans".
* var calendar = CalendarApp.createCalendar('Travel Plans');
* Logger.log('Created the calendar "%s", with the ID "%s".',
* calendar.getName(), calendar.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createCalendar(String)
* @param name the name of the new calendar
*/
createCalendar(name: string): Calendar;
/**
* Creates a new calendar, owned by the user.
*
*
* // Creates a new calendar named "Travel Plans" with a summary and color.
* var calendar = CalendarApp.createCalendar('Travel Plans', {
* summary: 'A calendar to plan my travel schedule.',
* color: CalendarApp.Color.BLUE
* });
* Logger.log('Created the calendar "%s", with the ID "%s".',
* calendar.getName(), calendar.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createCalendar(String,Object)
* @param name the name of the new calendar
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createCalendar(name: string, options: any): Calendar;
/**
* Creates a new event.
*
*
* If no time zone is specified, the time values are interpreted in the context of the script's
* time zone, which may be different than the calendar's time zone.
*
*
* // Creates an event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:00:00 UTC'),
* new Date('July 21, 1969 21:00:00 UTC'));
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createEvent(String,Date,Date)
* @param title the title of the event
* @param startTime the date and time when the event starts
* @param endTime the date and time when the event ends
*/
createEvent(title: string, startTime: Date, endTime: Date): CalendarEvent;
/**
* Creates a new event.
*
*
* If no time zone is specified, the time values are interpreted in the context of the script's
* time zone, which may be different than the calendar's time zone.
*
*
* // Creates an event for the moon landing and logs the ID.
* var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:00:00 UTC'),
* new Date('July 20, 1969 21:00:00 UTC'),
* {location: 'The Moon'});
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createEvent(String,Date,Date,Object)
* @param title the title of the event
* @param startTime the date and time when the event starts
* @param endTime the date and time when the event ends
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createEvent(title: string, startTime: Date, endTime: Date, options: any): CalendarEvent;
/**
* Creates an event from a free-form description.
*
*
* The description should use the same format as the UI's "Quick Add" feature.
*
*
* // Creates a new event and logs its ID.
* var event = CalendarApp.getDefaultCalendar()
* .createEventFromDescription('Lunch with Mary, Friday at 1PM');
* Logger.log('Event ID: ' + event.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createEventFromDescription(String)
* @param description a free-form description of the event
*/
createEventFromDescription(description: string): CalendarEvent;
/**
* Creates a new event series.
*
*
* // Creates an event series for a team meeting, taking place every Tuesday and Thursday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting',
* new Date('January 1, 2013 03:00:00 PM EST'),
* new Date('January 1, 2013 04:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY])
* .until(new Date('January 1, 2014')));
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createEventSeries(String,Date,Date,EventRecurrence)
* @param title the title of the events in the series
* @param startTime the date and time when the first event in the series starts
* @param endTime the date and time when the first event in the series ends
* @param recurrence the recurrence settings of the event series
*/
createEventSeries(title: string, startTime: Date, endTime: Date, recurrence: EventRecurrence): CalendarEventSeries;
/**
* Creates a new event series.
*
*
* // Creates an event series for a team meeting, taking place every Tuesday and Thursday in 2013.
* var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting',
* new Date('January 1, 2013 03:00:00 PM EST'),
* new Date('January 1, 2013 04:00:00 PM EST'),
* CalendarApp.newRecurrence().addWeeklyRule()
* .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY])
* .until(new Date('January 1, 2014')),
* {location: 'Conference Room'});
* Logger.log('Event Series ID: ' + eventSeries.getId());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#createEventSeries(String,Date,Date,EventRecurrence,Object)
* @param title the title of the events in the series
* @param startTime the date and time when the first event in the series starts
* @param endTime the date and time when the first event in the series ends
* @param recurrence the recurrence settings of the event series
* @param options a JavaScript object that specifies advanced parameters, as listed below
*/
createEventSeries(title: string, startTime: Date, endTime: Date, recurrence: EventRecurrence, options: any): CalendarEventSeries;
/**
* Gets all calendars that the user owns or is subscribed to.
*
*
* // Determines how many calendars the user can access.
* var calendars = CalendarApp.getAllCalendars();
* Logger.log('This user owns or is subscribed to %s calendars.',
* calendars.length);
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getAllCalendars()
*/
getAllCalendars(): Calendar[];
/**
* Gets all calendars that the user owns.
*
*
* // Determines how many calendars the user owns.
* var calendars = CalendarApp.getAllOwnedCalendars();
* Logger.log('This user owns %s calendars.', calendars.length);
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getAllOwnedCalendars()
*/
getAllOwnedCalendars(): Calendar[];
/**
* Gets the calendar with the given ID.
*
*
* // Gets the public calendar "US Holidays" by ID.
* var calendar = CalendarApp.getCalendarById(
* 'en.usa#holiday@group.v.calendar.google.com');
* Logger.log('The calendar is named "%s".', calendar.getName());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getCalendarById(String)
* @param id the calendar ID
*/
getCalendarById(id: string): Calendar;
/**
* Gets all calendars with a given name that the user owns or is subscribed to. Names are not
* case-sensitive.
*
*
* // Gets the public calendar named "US Holidays".
* var calendars = CalendarApp.getCalendarsByName('US Holidays');
* Logger.log('Found %s matching calendars.', calendars.length);
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getCalendarsByName(String)
* @param name the calendar name
*/
getCalendarsByName(name: string): Calendar[];
/**
* Gets the color of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Gets the color of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getColor() instead.
* const calendarColor = calendar.getColor();
* console.log(calendarColor);
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getColor()
*/
getColor(): string;
/**
* Gets the user's default calendar.
*
*
* // Determines the time zone of the user's default calendar.
* var calendar = CalendarApp.getDefaultCalendar();
* Logger.log('My default calendar is set to the time zone "%s".',
* calendar.getTimeZone());
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getDefaultCalendar()
*/
getDefaultCalendar(): Calendar;
/**
* Gets the description of the calendar.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com');
*
* // Sets the description of the calendar to 'Test description.'
* calendar.setDescription('Test description');
*
* // Gets the description of the calendar and logs it to the console.
* // For the default calendar, you can use CalendarApp.getDescription() instead.
* const description = calendar.getDescription();
* console.log(description);
* https://developers.google.com/apps-script/reference/calendar/calendar-app#getDescription()
*/
getDescription(): string;
/**
* Gets the event with the given ID. If the series belongs to a calendar other than the default
* calendar, this method must be called from that calendar. Calling getEventById(iCalId) only
* returns an event in the default calendar.
*
*
* Multiple events may have the same ID if they are part of an event series. In this case this
* method returns only the first event from that series.
*
*
* // Opens the calendar by its ID.
* // TODO(developer): Replace the ID with your own.
* const calendar = CalendarApp.getCalendarById('222larabrown@gmail.com')
*
* // Creates an event for the moon landing.
* const event = calendar.createEvent('Apollo 11 Landing',
* new Date('July 20, 1969 20:05:00 UTC'),
* new Date('July 20, 1969 20:17:00 UTC'));
*
* // Gets the calendar event ID and logs it to the console.
* const iCalId = event.getId();
* console.log(iCalId);
*
* // Gets the event by its ID and logs the title of the event