Class CalendarApp

КалендарьApp

Позволяет сценарию читать и обновлять Календарь Google пользователя. Этот класс обеспечивает прямой доступ к календарю пользователя по умолчанию, а также возможность получать дополнительные календари, которыми владеет пользователь или на которые он подписан.

Характеристики

Свойство Тип Описание
Color Color Перечисление, представляющее именованные цвета, доступные в службе календаря.
EventColor EventColor Перечисление, представляющее именованные цвета событий, доступные в службе календаря.
GuestStatus GuestStatus Перечисление, представляющее статусы, которые гость может иметь для события.
Month Month Перечисление, представляющее месяцы года.
Visibility Visibility Перечисление, представляющее видимость события.
Weekday Weekday Перечисление, представляющее дни недели.

Методы

Метод Тип возврата Краткое описание
createAllDayEvent(title, date) CalendarEvent Создает новое событие на весь день.
createAllDayEvent(title, startDate, endDate) CalendarEvent Создает новое событие на весь день, которое может охватывать несколько дней.
createAllDayEvent(title, startDate, endDate, options) CalendarEvent Создает новое событие на весь день, которое может охватывать несколько дней.
createAllDayEvent(title, date, options) CalendarEvent Создает новое событие на весь день.
createAllDayEventSeries(title, startDate, recurrence) CalendarEventSeries Создает новую серию событий на весь день.
createAllDayEventSeries(title, startDate, recurrence, options) CalendarEventSeries Создает новую серию событий на весь день.
createCalendar(name) Calendar Создает новый календарь, принадлежащий пользователю.
createCalendar(name, options) Calendar Создает новый календарь, принадлежащий пользователю.
createEvent(title, startTime, endTime) CalendarEvent Создает новое событие.
createEvent(title, startTime, endTime, options) CalendarEvent Создает новое событие.
createEventFromDescription(description) CalendarEvent Создает событие из описания в свободной форме.
createEventSeries(title, startTime, endTime, recurrence) CalendarEventSeries Создает новую серию событий.
createEventSeries(title, startTime, endTime, recurrence, options) CalendarEventSeries Создает новую серию событий.
getAllCalendars() Calendar[] Получает все календари, которыми владеет пользователь или на которые он подписан.
getAllOwnedCalendars() Calendar[] Получает все календари, принадлежащие пользователю.
getCalendarById(id) Calendar Получает календарь с заданным идентификатором.
getCalendarsByName(name) Calendar[] Получает все календари с заданным именем, которыми владеет пользователь или на которые он подписан.
getColor() String Получает цвет календаря.
getDefaultCalendar() Calendar Получает календарь пользователя по умолчанию.
getDescription() String Получает описание календаря.
getEventById(iCalId) CalendarEvent Получает событие с заданным идентификатором.
getEventSeriesById(iCalId) CalendarEventSeries Получает серию событий с заданным идентификатором.
getEvents(startTime, endTime) CalendarEvent[] Получает все события, происходящие в заданном диапазоне времени.
getEvents(startTime, endTime, options) CalendarEvent[] Получает все события, происходящие в заданном диапазоне времени и соответствующие указанным критериям.
getEventsForDay(date) CalendarEvent[] Получает все события, происходящие в определенный день.
getEventsForDay(date, options) CalendarEvent[] Получает все события, происходящие в определенный день и соответствующие указанным критериям.
getId() String Получает идентификатор календаря.
getName() String Получает имя календаря.
getOwnedCalendarById(id) Calendar Получает календарь с заданным идентификатором, если он принадлежит пользователю.
getOwnedCalendarsByName(name) Calendar[] Получает все календари с заданным именем, принадлежащие пользователю.
getTimeZone() String Получает часовой пояс календаря.
isHidden() Boolean Определяет, скрыт ли календарь в пользовательском интерфейсе.
isMyPrimaryCalendar() Boolean Определяет, является ли календарь основным календарем для эффективного пользователя.
isOwnedByMe() Boolean Определяет, принадлежит ли вам календарь.
isSelected() Boolean Определяет, отображаются ли события календаря в пользовательском интерфейсе.
newRecurrence() EventRecurrence Создает новый объект повторения, который можно использовать для создания правил повторения событий.
setColor(color) Calendar Устанавливает цвет календаря.
setDescription(description) Calendar Устанавливает описание календаря.
setHidden(hidden) Calendar Устанавливает, отображается ли календарь в пользовательском интерфейсе.
setName(name) Calendar Устанавливает имя календаря.
setSelected(selected) Calendar Определяет, отображаются ли события календаря в пользовательском интерфейсе.
setTimeZone(timeZone) Calendar Устанавливает часовой пояс календаря.
subscribeToCalendar(id) Calendar Подписывает пользователя на календарь с заданным идентификатором, если пользователю разрешено подписаться.
subscribeToCalendar(id, options) Calendar Подписывает пользователя на календарь с заданным идентификатором, если пользователю разрешено подписаться.

Подробная документация

createAllDayEvent(title, date)

Создает новое событие на весь день.

// Creates an all-day event for the moon landing and logs the ID.
const event = CalendarApp.getDefaultCalendar().createAllDayEvent(
    'Apollo 11 Landing',
    new Date('July 20, 1969'),
);
Logger.log(`Event ID: ${event.getId()}`);

Параметры

Имя Тип Описание
title String Название мероприятия.
date Date Дата события (используется только день; время игнорируется).

Возвращаться

CalendarEvent — Созданное событие.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createAllDayEvent(title, startDate, endDate)

Создает новое событие на весь день, которое может охватывать несколько дней.

// Creates an all-day event for the Woodstock festival (August 15th to 17th) and
// logs the ID.
const event = CalendarApp.getDefaultCalendar().createAllDayEvent(
    'Woodstock Festival',
    new Date('August 15, 1969'),
    new Date('August 18, 1969'),
);
Logger.log(`Event ID: ${event.getId()}`);

Параметры

Имя Тип Описание
title String Название мероприятия.
startDate Date Дата начала события (используется только день; время игнорируется).
endDate Date Дата окончания события (используется только день; время игнорируется). Дата окончания является эксклюзивной.

Возвращаться

CalendarEvent — Созданное событие.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createAllDayEvent(title, startDate, endDate, options)

Создает новое событие на весь день, которое может охватывать несколько дней.

// Creates an all-day event for the Woodstock festival (August 15th to 17th) and
// logs the ID.
const 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()}`);

Параметры

Имя Тип Описание
title String Название мероприятия.
startDate Date Дата начала события (используется только день; время игнорируется).
endDate Date Дата окончания события (используется только день; время игнорируется). Дата окончания является эксклюзивной.
options Object Объект JavaScript, задающий дополнительные параметры, как указано ниже.

Расширенные параметры

Имя Тип Описание
description String Описание события.
location String Место проведения мероприятия.
guests String Список адресов электронной почты, разделенных запятыми, которые следует добавить в качестве гостей.
sendInvites Boolean Отправлять ли приглашения по электронной почте (по умолчанию: false ).

Возвращаться

CalendarEvent — Созданное событие.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createAllDayEvent(title, date, options)

Создает новое событие на весь день.

// Creates an all-day event for the moon landing and logs the ID.
const event = CalendarApp.getDefaultCalendar().createAllDayEvent(
    'Apollo 11 Landing',
    new Date('July 20, 1969'),
    {location: 'The Moon'},
);
Logger.log(`Event ID: ${event.getId()}`);

Параметры

Имя Тип Описание
title String Название мероприятия.
date Date Дата события (используется только день; время игнорируется).
options Object Объект JavaScript, задающий дополнительные параметры, как указано ниже.

Расширенные параметры

Имя Тип Описание
description String Описание события.
location String Место проведения мероприятия.
guests String Список адресов электронной почты, разделенных запятыми, которые следует добавить в качестве гостей.
sendInvites Boolean Отправлять ли приглашения по электронной почте (по умолчанию: false ).

Возвращаться

CalendarEvent — Созданное событие.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createAllDayEventSeries(title, startDate, recurrence)

Создает новую серию событий на весь день.

// Creates an event series for a no-meetings day, taking place every Wednesday
// in 2013.
const 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()}`);

Параметры

Имя Тип Описание
title String название событий в сериале
startDate Date дата первого события в серии (используется только день; время игнорируется)
recurrence EventRecurrence настройки повторения серии событий

Возвращаться

CalendarEventSeries — созданная серия событий

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createAllDayEventSeries(title, startDate, recurrence, options)

Создает новую серию событий на весь день.

// Creates an event series for a no-meetings day, taking place every Wednesday
// in 2013.
const 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()}`);

Параметры

Имя Тип Описание
title String название событий в сериале
startDate Date дата первого события в серии (используется только день; время игнорируется)
recurrence EventRecurrence настройки повторения серии событий
options Object объект JavaScript, который определяет дополнительные параметры, как указано ниже

Расширенные параметры

Имя Тип Описание
description String описание событий в сериале
location String место событий сериала
guests String разделенный запятыми список адресов электронной почты, которые следует добавить в качестве гостей на мероприятия серии.
sendInvites Boolean отправлять ли приглашения по электронной почте (по умолчанию: false )

Возвращаться

CalendarEventSeries — созданная серия событий

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createCalendar(name)

Создает новый календарь, принадлежащий пользователю.

// Creates a new calendar named "Travel Plans".
const calendar = CalendarApp.createCalendar('Travel Plans');
Logger.log(
    'Created the calendar "%s", with the ID "%s".',
    calendar.getName(),
    calendar.getId(),
);

Параметры

Имя Тип Описание
name String название нового календаря

Возвращаться

Calendar — вновь созданный календарь

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createCalendar(name, options)

Создает новый календарь, принадлежащий пользователю.

// Creates a new calendar named "Travel Plans" with a description and color.
const calendar = CalendarApp.createCalendar('Travel Plans', {
  description: '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(),
);

Параметры

Имя Тип Описание
name String название нового календаря
options Object объект JavaScript, который определяет дополнительные параметры, как указано ниже

Расширенные параметры

Имя Тип Описание
location String местоположение календаря
description String описание календаря
timeZone String часовой пояс для установки календаря, указанный в «длинном» формате (например, «Америка/Нью_Йорк», как указано на Joda.org )
color String шестнадцатеричная строка цвета ("#rrggbb") или значение из CalendarApp.Colors
hidden Boolean скрыт ли календарь в пользовательском интерфейсе (по умолчанию: false )
selected Boolean отображаются ли события календаря в пользовательском интерфейсе (по умолчанию: true )

Возвращаться

Calendar — вновь созданный календарь

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createEvent(title, startTime, endTime)

Создает новое событие.

Если часовой пояс не указан, значения времени интерпретируются в контексте часового пояса скрипта, который может отличаться от часового пояса календаря.

// Creates an event for the moon landing and logs the ID.
const 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()}`);

Параметры

Имя Тип Описание
title String название мероприятия
startTime Date дата и время начала мероприятия
endTime Date дата и время окончания мероприятия

Возвращаться

CalendarEvent — созданное событие

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createEvent(title, startTime, endTime, options)

Создает новое событие.

Если часовой пояс не указан, значения времени интерпретируются в контексте часового пояса скрипта, который может отличаться от часового пояса календаря.

// Creates an event for the moon landing and logs the ID.
const 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()}`);

Параметры

Имя Тип Описание
title String название мероприятия
startTime Date дата и время начала мероприятия
endTime Date дата и время окончания мероприятия
options Object объект JavaScript, который определяет дополнительные параметры, как указано ниже

Расширенные параметры

Имя Тип Описание
description String описание события
location String место проведения мероприятия
guests String список адресов электронной почты, разделенных запятыми, которые следует добавить в качестве гостей
sendInvites Boolean отправлять ли приглашения по электронной почте (по умолчанию: false )

Возвращаться

CalendarEvent — созданное событие

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createEventFromDescription(description)

Создает событие из описания в свободной форме.

Описание должно использовать тот же формат, что и функция «Быстрое добавление» пользовательского интерфейса.

// Creates a new event and logs its ID.
const event = CalendarApp.getDefaultCalendar().createEventFromDescription(
    'Lunch with Mary, Friday at 1PM',
);
Logger.log(`Event ID: ${event.getId()}`);

Параметры

Имя Тип Описание
description String описание мероприятия в свободной форме

Возвращаться

CalendarEvent — созданное событие

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createEventSeries(title, startTime, endTime, recurrence)

Создает новую серию событий.

// Creates an event series for a team meeting, taking place every Tuesday and
// Thursday in 2013.
const 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()}`);

Параметры

Имя Тип Описание
title String название событий в сериале
startTime Date дата и время начала первого события в серии
endTime Date дата и время окончания первого события в серии
recurrence EventRecurrence настройки повторения серии событий

Возвращаться

CalendarEventSeries — созданная серия событий

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

createEventSeries(title, startTime, endTime, recurrence, options)

Создает новую серию событий.

// Creates an event series for a team meeting, taking place every Tuesday and
// Thursday in 2013.
const 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()}`);

Параметры

Имя Тип Описание
title String название событий в сериале
startTime Date дата и время начала первого события в серии
endTime Date дата и время окончания первого события в серии
recurrence EventRecurrence настройки повторения серии событий
options Object объект JavaScript, который определяет дополнительные параметры, как указано ниже

Расширенные параметры

Имя Тип Описание
description String описание событий в сериале
location String место событий сериала
guests String разделенный запятыми список адресов электронной почты, которые следует добавить в качестве гостей на мероприятия серии.
sendInvites Boolean отправлять ли приглашения по электронной почте (по умолчанию: false )

Возвращаться

CalendarEventSeries — созданная серия событий

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

getAllCalendars()

Получает все календари, которыми владеет пользователь или на которые он подписан.

// Determines how many calendars the user can access.
const calendars = CalendarApp.getAllCalendars();
Logger.log(
    'This user owns or is subscribed to %s calendars.',
    calendars.length,
);

Возвращаться

Calendar[] — все календари, к которым у пользователя есть доступ.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getAllOwnedCalendars()

Получает все календари, принадлежащие пользователю.

// Determines how many calendars the user owns.
const calendars = CalendarApp.getAllOwnedCalendars();
Logger.log('This user owns %s calendars.', calendars.length);

Возвращаться

Calendar[] — все календари, принадлежащие пользователю.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getCalendarById(id)

Получает календарь с заданным идентификатором.

// Gets the public calendar "US Holidays" by ID.
const calendar = CalendarApp.getCalendarById(
    'en.usa#holiday@group.v.calendar.google.com',
);
Logger.log('The calendar is named "%s".', calendar.getName());

Параметры

Имя Тип Описание
id String идентификатор календаря

Возвращаться

Calendar — календарь с указанным идентификатором или null , если календарь не существует, если пользователь не может получить к нему доступ или если пользователь не подписан на календарь.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getCalendarsByName(name)

Получает все календари с заданным именем, которыми владеет пользователь или на которые он подписан. Имена не чувствительны к регистру.

// Gets the public calendar named "US Holidays".
const calendars = CalendarApp.getCalendarsByName('US Holidays');
Logger.log('Found %s matching calendars.', calendars.length);

Параметры

Имя Тип Описание
name String название календаря

Возвращаться

Calendar[] — все календари с таким названием, к которым у пользователя есть доступ.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getColor()

Получает цвет календаря.

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

Возвращаться

String — шестнадцатеричная цветовая строка ("#rrggbb").

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getDefaultCalendar()

Получает календарь пользователя по умолчанию.

// Determines the time zone of the user's default calendar.
const calendar = CalendarApp.getDefaultCalendar();
Logger.log(
    'My default calendar is set to the time zone "%s".',
    calendar.getTimeZone(),
);

Возвращаться

Calendar — календарь пользователя по умолчанию.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getDescription()

Получает описание календаря.

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

Возвращаться

String — Описание этого календаря.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEventById(iCalId)

Получает событие с заданным идентификатором. Если серия принадлежит календарю, отличному от календаря по умолчанию, этот метод необходимо вызывать из этого календаря. Вызов getEventById(iCalId) возвращает событие только в календаре по умолчанию.

Несколько событий могут иметь один и тот же идентификатор, если они являются частью серии событий. В этом случае этот метод возвращает только первое событие из этой серии.

// 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());

Параметры

Имя Тип Описание
iCalId String Идентификатор события.

Возвращаться

CalendarEvent — Событие с заданным идентификатором или null , если событие не существует или пользователь не может получить к нему доступ.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEventSeriesById(iCalId)

Получает серию событий с заданным идентификатором. Если указан идентификатор для одного CalendarEvent , то CalendarEventSeries возвращается с одним событием в серии. Обратите внимание: если серия событий принадлежит календарю, отличному от календаря по умолчанию, этот метод необходимо вызывать из этого CalendarApp ; прямой вызов getEventSeriesById(iCalId) возвращает только серию событий, которая существует в календаре по умолчанию.

// 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());

Параметры

Имя Тип Описание
iCalId String Идентификатор серии событий.

Возвращаться

CalendarEventSeries — серия с заданным идентификатором или null , если серия не существует или пользователь не может получить к ней доступ.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEvents(startTime, endTime)

Получает все события, происходящие в заданном диапазоне времени.

Этот метод возвращает события, которые начинаются в заданном диапазоне времени, заканчиваются в течение указанного диапазона времени или охватывают этот диапазон времени. Если часовой пояс не указан, значения времени интерпретируются в контексте часового пояса скрипта, который может отличаться от часового пояса календаря.

// Determines how many events are happening in the next two hours.
const now = new Date();
const twoHoursFromNow = new Date(now.getTime() + 2 * 60 * 60 * 1000);
const events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow);
Logger.log(`Number of events: ${events.length}`);

Параметры

Имя Тип Описание
startTime Date начало временного диапазона
endTime Date конец временного диапазона, не включительно

Возвращаться

CalendarEvent[] — события, происходящие в указанном временном диапазоне.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEvents(startTime, endTime, options)

Получает все события, происходящие в заданном диапазоне времени и соответствующие указанным критериям.

Этот метод возвращает события, которые начинаются в заданном диапазоне времени, заканчиваются в течение указанного диапазона времени или охватывают этот диапазон времени. Если часовой пояс не указан, значения времени интерпретируются в контексте часового пояса скрипта, который может отличаться от часового пояса календаря.

Имейте в виду, что фильтрация по author , search или statusFilters происходит после применения start и max . Это означает, что количество возвращаемых событий может быть меньше max , даже если критериям соответствуют дополнительные события.

// Determines how many events are happening in the next two hours that contain
// the term "meeting".
const now = new Date();
const twoHoursFromNow = new Date(now.getTime() + 2 * 60 * 60 * 1000);
const events = CalendarApp.getDefaultCalendar().getEvents(
    now,
    twoHoursFromNow,
    {search: 'meeting'},
);
Logger.log(`Number of events: ${events.length}`);

Параметры

Имя Тип Описание
startTime Date начало временного диапазона
endTime Date конец временного диапазона, не включительно
options Object объект JavaScript, который определяет дополнительные параметры, как указано ниже

Расширенные параметры

Имя Тип Описание
start Integer индекс первого возвращаемого события
max Integer максимальное количество возвращаемых событий
author String адрес электронной почты, используемый создателем мероприятия для фильтрации результатов
search String полнотекстовый поисковый запрос, используемый для фильтрации результатов
statusFilters[] GuestStatus массив статусов, используемый для фильтрации результатов

Возвращаться

CalendarEvent[] — события, которые происходят в пределах временного диапазона и соответствуют критериям

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEventsForDay(date)

Получает все события, происходящие в определенный день.

Этот метод возвращает события, если они начинаются в течение данного дня, заканчиваются в течение дня или охватывают день.

Обратите внимание, что используется только часть даты объекта Date, а часть времени игнорируется. Дата интерпретируется как полночь этого дня до полуночи следующего дня в часовом поясе календаря.

// Determines how many events are happening today.
const today = new Date();
const events = CalendarApp.getDefaultCalendar().getEventsForDay(today);
Logger.log(`Number of events: ${events.length}`);

Параметры

Имя Тип Описание
date Date дата, для которой нужно получить события (используется только день; время игнорируется)

Возвращаться

CalendarEvent[] — события, которые происходят в указанную дату

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getEventsForDay(date, options)

Получает все события, происходящие в определенный день и соответствующие указанным критериям.

Этот метод возвращает события, если они начинаются в течение данного дня, заканчиваются в течение дня или охватывают день.

Обратите внимание, что используется только часть даты объекта Date, а часть времени игнорируется. Дата интерпретируется как полночь этого дня до полуночи следующего дня в часовом поясе календаря.

Имейте в виду, что фильтрация по author , search или statusFilters происходит после применения start и max . Это означает, что количество возвращаемых событий может быть меньше max , даже если критериям соответствуют дополнительные события.

// Determines how many events are happening today and contain the term
// "meeting".
const today = new Date();
const events = CalendarApp.getDefaultCalendar().getEventsForDay(today, {
  search: 'meeting',
});
Logger.log(`Number of events: ${events.length}`);

Параметры

Имя Тип Описание
date Date дата, для которой нужно получить события (используется только день; время игнорируется)
options Object расширенные возможности фильтрации

Расширенные параметры

Имя Тип Описание
start Integer индекс первого возвращаемого события
max Integer максимальное количество возвращаемых событий
author String адрес электронной почты, используемый создателем мероприятия для фильтрации результатов
search String полнотекстовый поисковый запрос, используемый для фильтрации результатов
statusFilters[] GuestStatus массив статусов, используемый для фильтрации результатов

Возвращаться

CalendarEvent[] — события, которые происходят в указанную дату и соответствуют критериям

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getId()

Получает идентификатор календаря. Идентификатором календаря пользователя по умолчанию является его адрес электронной почты.

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

Возвращаться

String — идентификатор календаря.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getName()

Получает имя календаря.

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

Возвращаться

String — имя этого календаря.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getOwnedCalendarById(id)

Получает календарь с заданным идентификатором, если он принадлежит пользователю.

Чтобы найти идентификатор календаря, нажмите стрелку рядом с названием календаря в Календаре Google и выберите «Настройки календаря» . Идентификатор отображается в нижней части страницы настроек.

// Gets a (non-existent) private calendar by ID.
const calendar = CalendarApp.getOwnedCalendarById(
    '123456789@group.calendar.google.com',
);
Logger.log('The calendar is named "%s".', calendar.getName());

Параметры

Имя Тип Описание
id String идентификатор календаря

Возвращаться

Calendar — календарь с указанным идентификатором или null если календарь не существует или он не принадлежит пользователю.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getOwnedCalendarsByName(name)

Получает все календари с заданным именем, принадлежащие пользователю. Имена не чувствительны к регистру.

// Gets a private calendar named "Travel Plans".
const calendars = CalendarApp.getOwnedCalendarsByName('Travel Plans');
Logger.log('Found %s matching calendars.', calendars.length);

Параметры

Имя Тип Описание
name String название календаря

Возвращаться

Calendar[] — все календари с таким названием, принадлежащие пользователю.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

getTimeZone()

Получает часовой пояс календаря.

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

Возвращаться

String — часовой пояс, указанный в «длинном» формате (например, «Америка/Нью_Йорк», как указано на Joda.org ).

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

isHidden()

Определяет, скрыт ли календарь в пользовательском интерфейсе.

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

Возвращаться

Booleantrue , если календарь скрыт в пользовательском интерфейсе; false если это не так.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

isMyPrimaryCalendar()

Определяет, является ли календарь основным календарем для эффективного пользователя.

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

Возвращаться

Booleantrue , если календарь является календарем по умолчанию для эффективного пользователя; false если это не так.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

isOwnedByMe()

Определяет, принадлежит ли вам календарь.

// 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());

Возвращаться

Booleantrue , если календарь принадлежит вам; false если нет.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

isSelected()

Определяет, отображаются ли события календаря в пользовательском интерфейсе.

// 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());

Возвращаться

Booleantrue если события календаря отображаются в пользовательском интерфейсе; false если нет

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

newRecurrence()

Создает новый объект повторения, который можно использовать для создания правил повторения событий.

// Creates an event series for a no-meetings day, taking place every Wednesday
// in 2013.
const recurrence = CalendarApp.newRecurrence()
                       .addWeeklyRule()
                       .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                       .until(new Date('January 1, 2014'));
const eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries(
    'No Meetings',
    new Date('January 2, 2013 03:00:00 PM EST'),
    recurrence,
);
Logger.log(`Event Series ID: ${eventSeries.getId()}`);

Возвращаться

EventRecurrence — новый объект повторения без установленных правил (ведёт себя как еженедельное повторение)

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

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

setColor(color)

Устанавливает цвет календаря.

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

Параметры

Имя Тип Описание
color String CalendarApp.Color или шестнадцатеричная строка цвета ("#rrggbb").

Возвращаться

Calendar — Это календарь для цепочки.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

setDescription(description)

Устанавливает описание календаря.

// 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.');

Параметры

Имя Тип Описание
description String описание этого календаря

Возвращаться

Calendar — это календарь для цепочки

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

setHidden(hidden)

Устанавливает, отображается ли календарь в пользовательском интерфейсе.

Параметры

Имя Тип Описание
hidden Boolean true чтобы скрыть календарь в пользовательском интерфейсе; false чтобы показать это

Возвращаться

Calendar — это календарь для цепочки

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

setName(name)

Устанавливает имя календаря.

// 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');

Параметры

Имя Тип Описание
name String новое имя

Возвращаться

Calendar — это календарь для цепочки

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

setSelected(selected)

Определяет, отображаются ли события календаря в пользовательском интерфейсе.

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

Параметры

Имя Тип Описание
selected Boolean true чтобы отображать события календаря в пользовательском интерфейсе; false чтобы скрыть их

Возвращаться

Calendar — это календарь для цепочки

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

setTimeZone(timeZone)

Устанавливает часовой пояс календаря.

// 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');

Параметры

Имя Тип Описание
timeZone String Часовой пояс, указанный в «длинном» формате (например, «Америка/Нью_Йорк», как указано на сайте Joda.org ).

Возвращаться

Calendar — Это календарь для цепочки.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

subscribeToCalendar(id)

Подписывает пользователя на календарь с заданным идентификатором, если пользователю разрешено подписаться.

// Subscribe to the calendar "US Holidays".
const calendar = CalendarApp.subscribeToCalendar(
    'en.usa#holiday@group.v.calendar.google.com',
);
Logger.log('Subscribed to the calendar "%s".', calendar.getName());

Параметры

Имя Тип Описание
id String идентификатор календаря, на который нужно подписаться

Возвращаться

Calendar — календарь недавно подписавшихся

Броски

Error — если календаря с таким идентификатором не существует.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds

subscribeToCalendar(id, options)

Подписывает пользователя на календарь с заданным идентификатором, если пользователю разрешено подписаться.

// Subscribe to the calendar "US Holidays", and set it to the color blue.
const calendar = CalendarApp.subscribeToCalendar(
    'en.usa#holiday@group.v.calendar.google.com',
    {color: CalendarApp.Color.BLUE},
);
Logger.log('Subscribed to the calendar "%s".', calendar.getName());

Параметры

Имя Тип Описание
id String Идентификатор календаря, на который нужно подписаться.
options Object Объект JavaScript, задающий дополнительные параметры, как указано ниже.

Расширенные параметры

Имя Тип Описание
color String Шестнадцатеричная строка цвета ("#rrggbb") или значение из CalendarApp.Colors .
hidden Boolean Скрывается ли календарь в пользовательском интерфейсе (по умолчанию: false ).
selected Boolean Отображаются ли события календаря в пользовательском интерфейсе (по умолчанию: true , если также указан color , в противном случае — false ).

Возвращаться

Calendar — новый календарь подписки.

Броски

Error — если календаря с таким идентификатором не существует.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с использованием одной или нескольких из следующих областей или соответствующих областей из соответствующего REST API :

  • https://www.googleapis.com/auth/calendar
  • https://www.google.com/calendar/feeds