表示一系列活动(周期性活动)。
方法
详细文档
addEmailReminder(minutesBefore)
向活动添加新的电子邮件提醒。提醒时间必须在活动开始前至少 5 分钟,最多 4 周(40320 分钟)。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Adds an email notification for 15 minutes before the event. event.addEmailReminder(15);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
minutes | Integer | 活动开始前的分钟数 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
抛出
Error - 如果活动中的提醒数量超过 5 个,或者时间不在合法范围内
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
addGuest(email)
向活动添加邀请对象。
// Example 1: Add a guest to one event function addAttendeeToEvent() { // Replace the below values with your own const attendeeEmail = 'user@example.com'; // Email address of the person you need to add const calendarId = 'calendar_123@group.calendar.google.com'; // ID of calendar containing // event const eventId = '123abc'; // ID of event instance const calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } const event = calendar.getEventById(eventId); if (event === null) { // Event not found console.log('Event not found', eventId); return; } event.addGuest(attendeeEmail); } // Example 2: Add a guest to all events on a calendar within a specified // timeframe function addAttendeeToAllEvents() { // Replace the following values with your own const attendeeEmail = 'user@example.com'; // Email address of the person you need to add const calendarId = 'calendar_123@group.calendar.google.com'; // ID of calendar with the // events const startDate = new Date('YYYY-MM-DD'); // The first date to add the guest to the events const endDate = new Date('YYYY-MM-DD'); // The last date to add the guest to the events const calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } // Get the events within the specified timeframe const calEvents = calendar.getEvents(startDate, endDate); console.log(calEvents.length); // Checks how many events are found // Loop through all events and add the attendee to each of them for (let i = 0; i < calEvents.length; i++) { const event = calEvents[i]; event.addGuest(attendeeEmail); } }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
email | String | 嘉宾的电子邮件地址。 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
addPopupReminder(minutesBefore)
向活动添加新的弹出式通知。通知时间必须在活动开始前至少 5 分钟,最多 4 周(40320 分钟)。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Adds a pop-up notification for 15 minutes before the event. event.addPopupReminder(15);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
minutes | Integer | 活动开始前的分钟数 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
addSmsReminder(minutesBefore)
为活动添加新的短信提醒。提醒时间必须在活动开始前至少 5 分钟,最多 4 周(40320 分钟)。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
minutes | Integer | 活动开始前的分钟数 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
抛出
Error - 如果活动中的提醒数量超过 5 个,或者时间不在合法范围内
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
anyoneCanAddSelf()
确定用户是否可以将自己添加为日历活动的邀请对象。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Determines whether people can add themselves as guests to the event and logs // it. console.log(event.anyoneCanAddSelf());
返回
Boolean - true:非邀请对象能否自行添加到活动;false:不能
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
deleteEventSeries()
删除活动系列。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
deleteTag(key)
从事件中删除键值代码。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
key | String | 标记键 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
getAllTagKeys()
获取已针对相应事件设置的所有代码的键。
返回
String[] - 字符串键的数组
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getColor()
返回日历活动的颜色。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Gets the color of the calendar event and logs it. const eventColor = event.getColor(); console.log(eventColor);
返回
String - 活动颜色的字符串表示形式,作为 CalendarApp.EventColor 中值的索引 (1-11)。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getCreators()
获取活动的创建者。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Gets a list of the creators of the event and logs it. console.log(event.getCreators());
返回
String[] - 活动创建者的电子邮件地址
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getDateCreated()
获取事件的创建日期。您必须有权访问相应日历。
// Opens the calendar by using its ID. // To get the user's default calendar use CalendarApp.getDefault() instead. // TODO(developer): Replace the calendar ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 8:10 AM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 08:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, gets the date that the // event was created and logs it. const eventCreated = event.getDateCreated(); console.log(eventCreated); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Date - 创建日期
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 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. // To get the user's default calendar use CalendarApp.getDefault() instead. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 4th, 2023 that takes // place between 4:00 PM and 5:00 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 04, 2023 16:00:00'), new Date('Feb 04, 2023 17:00:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the description of the // event. event.setDescription('Important meeting'); // Gets the description of the event and logs it. const description = event.getDescription(); console.log(description); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
String - 说明
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getEmailReminders()
获取相应活动的所有电子邮件提醒的分值。您必须拥有相应日历的编辑权限。
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 4th, 2023 that takes // place between 5:00 PM and 6:00 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 04, 2023 15:00:00'), new Date('Feb 04, 2023 18:00:00'), )[0]; if (event) { // If an event exists within the given time frame, adds email reminders for // the user to be sent at 4 and 7 minutes before the event. event.addEmailReminder(4); event.addEmailReminder(7); // Gets the minute values for all email reminders that are set up for the user // for this event and logs it. const emailReminder = event.getEmailReminders(); console.log(emailReminder); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Integer[] - 一个数组,其中每个值都对应于提醒触发时间(以活动开始前的分钟数表示)
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getEventType()
获取相应活动的 EventType。
// Opens the default calendar and logs all out-of-office events for the current day. const calendar = CalendarApp.getDefaultCalendar(); const events = calendar.getEventsForDay(new Date()); console.log(events.filter(e => e.getEventType() === CalendarApp.EventType.OUT_OF_OFFICE));
返回
EventType - 事件类型。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getGuestByEmail(email)
根据电子邮件地址获取邀请对象。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 25th, 2023 that takes // place between 5:00 PM and 5:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'), )[0]; // Gets a guest by email address. const guestEmailId = event.getGuestByEmail('alex@example.com'); // If the email address corresponds to an event guest, logs the email address. if (guestEmailId) { console.log(guestEmailId.getEmail()); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
email | String | 访客的地址 |
返回
EventGuest - 相应电子邮件地址的邀请对象,如果该电子邮件地址不对应于任何邀请对象,则为 null
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
getGuestList()
获取活动的邀请对象,但不包括活动所有者。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 25th, 2023 that takes // place between 5:00 PM and 5:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'), )[0]; // Adds two guests to the event by using their email addresses. event.addGuest('alex@example.com'); event.addGuest('cruz@example.com'); // Gets the guests list for the event. const guestList = event.getGuestList(); // Loops through the list to get all the guests and logs their email addresses. for (const guest of guestList) { console.log(guest.getEmail()); }
返回
EventGuest[] - 嘉宾数组
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getGuestList(includeOwner)
获取活动的邀请对象,可能包括活动所有者。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 25th, 2023 that takes // place between 5:00 PM and 5:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 25,2023 17:00:00'), new Date('Feb 25,2023 17:25:00'), )[0]; // Gets the guests list for the event, including the owner of the event. const guestList = event.getGuestList(true); // Loops through the list to get all the guests and logs it. for (const guest of guestList) { console.log(guest.getEmail()); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
include | Boolean | 是否将所有者作为嘉宾添加 |
返回
EventGuest[] - 嘉宾数组
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getId()
获取活动的唯一 iCalUID。请注意,Calendar v3 API 和 Calendar 高级服务使用的 iCalUID 和活动 id 并不相同,不能互换使用。在语义上,两者之间的一个区别在于,在重复活动中,一个活动的所有实例都具有不同的 ids,但它们都共享相同的 iCalUID。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for January 5th, 2023 that takes place // between 9:00 AM and 9:25 AM. // For an event series, use calendar.getEventSeriesById('abc123456@google.com'); // and replace the series ID with your own. const event = calendar.getEvents( new Date('Jan 05, 2023 09:00:00'), new Date('Jan 05, 2023 09:25:00'), )[0]; // Gets the ID of the event and logs it. console.log(event.getId());
返回
String - 活动的 iCalUID
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getLastUpdated()
获取活动的上次更新日期。
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:00 PM and 5:00 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:00:00'), new Date('Feb 01, 2023 17:00:00'), )[0]; // Gets the date the event was last updated and logs it. const eventUpdatedDate = event.getLastUpdated(); console.log(eventUpdatedDate);
返回
Date - 上次更新日期
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getLocation()
获取活动地点。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the location of the // event to Mumbai. event.setLocation('Mumbai'); // Gets the location of the event and logs it. const eventLocation = event.getLocation(); console.log(eventLocation); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
String - 活动地点
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getMyStatus()
获取有效用户的活动状态(例如“参加”或“已受邀”)。如果有效用户是相应活动的所有者,则始终返回 GuestStatus.OWNER。
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, gets the event status of // the effective user and logs it. const myStatus = event.getMyStatus(); console.log(myStatus.toString()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
GuestStatus - 状态
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getOriginalCalendarId()
获取最初创建相应活动的日历的 ID。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 25th, 2023 that takes // place between 4:00 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 25,2023 16:00:00'), new Date('Feb 25,2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, gets the ID of the calendar // where the event was originally created and logs it. const calendarId = event.getOriginalCalendarId(); console.log(calendarId); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
String - 原始日历的 ID
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getPopupReminders()
获取相应活动的所有弹出式提醒的分钟值。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 4th, 2023 that takes // place between 5:05 PM and 5:35 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 04, 2023 17:05:00'), new Date('Feb 04, 2023 17:35:00'), )[0]; if (event) { // If an event exists within the given time frame, adds two pop-up reminders // to the event. The first reminder pops up 5 minutes before the event starts // and the second reminder pops up 3 minutes before the event starts. event.addPopupReminder(3); event.addPopupReminder(5); // Gets the minute values for all pop-up reminders for the event and logs it. const popUpReminder = event.getPopupReminders(); console.log(popUpReminder); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Integer[] - 一个数组,其中每个值都对应于提醒触发时间(以活动开始前的分钟数表示)
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getSmsReminders()
获取相应活动的所有短信提醒的分值。
返回
Integer[] - 一个数组,其中每个值都对应于提醒触发时间(以活动开始前的分钟数表示)
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getTag(key)
获取事件的标记值。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
key | String | 密钥 |
返回
String - 标记值
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getTitle()
获取活动的标题。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for January 31st, 2023 that takes // place between 9:05 AM and 9:15 AM. For an event series, use // calendar.getEventSeriesById('abc123456@example.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'), )[0]; if (event) { // If an event exists within the given time frame, logs the title of the // event. console.log(event.getTitle()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
String - 标题
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getTransparency()
获取事件的透明度。使用此方法可确定活动是
TRANSPARENT(表示相应时间段内日历显示为“有空”)还是 OPAQUE
(表示相应时间段内日历显示为“忙碌”)。
// Gets the first event from the default calendar for today. const today = new Date(); const event = CalendarApp.getDefaultCalendar().getEventsForDay(today)[0]; // Gets the event's transparency and logs it. const transparency = event.getTransparency(); Logger.log(transparency);
返回
EventTransparency - 透明度值。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
getVisibility()
获取活动的公开范围。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, gets the visibility of the // event and logs it. const eventVisibility = event.getVisibility(); console.log(eventVisibility.toString()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Visibility - 可见性值
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
guestsCanInviteOthers()
确定邀请对象是否可以邀请其他邀请对象。
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 9:35 AM and 9:40 AM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'), )[0]; if (event) { // If an event exists within the given time frame, determines whether guests // can invite other guests and logs it. console.log(event.guestsCanInviteOthers()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Boolean - true:如果邀请对象可以邀请其他人;false:如果邀请对象不可以邀请其他人
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
guestsCanModify()
确定邀请对象是否可以修改活动。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 9:35 AM and 9:40 AM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the event so that // guests can't modify it. event.setGuestsCanModify(false); // Determines whether guests can modify the event and logs it. console.log(event.guestsCanModify()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Boolean - true 如果邀请对象可以修改活动;false 如果不能
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
guestsCanSeeGuests()
确定嘉宾是否可以查看其他嘉宾。
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 9:35 AM and 9:40 AM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'), )[0]; if (event) { // If an event exists within the given time frame, determines whether guests // can see other guests and logs it. console.log(event.guestsCanSeeGuests()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Boolean - 如果邀请对象可以查看其他邀请对象,则为 true;否则为 false
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
isOwnedByMe()
确定您是否是活动的所有者。
// Opens the calendar by its ID. You must have view access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for January 31st, 2023 that takes // place between 9:05 AM and 9:15 AM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'), )[0]; if (event) { // If an event exists within the given time frame, determines whether you're // the owner of the event and logs it. console.log(event.isOwnedByMe()); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
Boolean - 如果相应活动归有效用户所有,则为 true;否则为 false
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
removeAllReminders()
从活动中移除所有提醒。
// Opens the calendar by its ID. You must have edit access to the calendar // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 1,2023 16:10:00'), new Date('Feb 1,2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, removes all reminders from // the event. event.removeAllReminders(); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
removeGuest(email)
从活动中移除邀请对象。
// Example 1: Remove a guest from one event function removeGuestFromEvent() { // Replace the below values with your own const attendeeEmail = 'user@example.com'; // Email address of the person you need to remove const calendarId = 'calendar_123@group.calendar.google.com'; // ID of calendar containing // event const eventId = '123abc'; // ID of event instance const calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } const event = calendar.getEventById(eventId); if (event === null) { // Event not found console.log('Event not found', eventId); return; } event.removeGuest(attendeeEmail); } // Example 2: Remove a guest from all events on a calendar within a specified // timeframe function removeGuestFromAllEvents() { // Replace the following values with your own const attendeeEmail = 'user@example.com'; // Email address of the person you need to remove const calendarId = 'calendar_123@group.calendar.google.com'; // ID of calendar with the // events const startDate = new Date( 'YYYY-MM-DD'); // The first date to remove the guest from the events const endDate = new Date( 'YYYY-MM-DD'); // The last date to remove the attendee from the events const calendar = CalendarApp.getCalendarById(calendarId); if (calendar === null) { // Calendar not found console.log('Calendar not found', calendarId); return; } // Get the events within the specified timeframe const calEvents = calendar.getEvents(startDate, endDate); console.log(calEvents.length); // Checks how many events are found // Loop through all events and remove the attendee from each of them for (let i = 0; i < calEvents.length; i++) { const event = calEvents[i]; event.removeGuest(attendeeEmail); } }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
email | String | 邀请对象的电子邮件地址 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
resetRemindersToDefault()
使用日历的默认设置重置提醒。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 1, 2023 16:10:00'), new Date('Feb 1, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, resets the reminders using // the calendar's default settings. event.resetRemindersToDefault(); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setAnyoneCanAddSelf(anyoneCanAddSelf)
设置非邀请对象是否可以自行添加到活动中。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 15th, 2023 that takes // place between 3:30 PM and 4:30 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 15, 2023 15:30:00'), new Date('Feb 15, 2023 16:30:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the event so that // non-guests can't add themselves to the event. event.setAnyoneCanAddSelf(false); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
anyone | Boolean | 是否允许任何人自行邀请 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setColor(color)
设置日历活动的颜色。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the color of the // calendar event to green. event.setColor(CalendarApp.EventColor.GREEN); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
color | String | 一个整数颜色索引(以字符串形式表示),或 Calendar 中的一个值。 |
返回
CalendarEventSeries - 用于链接的相应日历活动。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setDescription(description)
设置活动的说明。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 4th, 2023 that takes // place between 5:05 PM and 5:35 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 04, 2023 17:05:00'), new Date('Feb 04, 2023 17:35:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the description of the // event to 'Meeting.' event.setDescription('Meeting'); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
description | String | 新说明 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setGuestsCanInviteOthers(guestsCanInviteOthers)
设置嘉宾是否可以邀请其他嘉宾。
// Opens the calendar by its ID. // TODO(developer): Replace the ID with your own. You must have edit access to // the calendar. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 9:35 AM and 9:40 AM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 09:35:00'), new Date('Feb 01, 2023 09:40:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the event so that // guests can invite other guests. event.setGuestsCanInviteOthers(true); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
guests | Boolean | 邀请对象是否可以邀请他人 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setGuestsCanModify(guestsCanModify)
设置邀请对象是否可以修改活动。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
guests | Boolean | 邀请对象是否可以修改活动 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setGuestsCanSeeGuests(guestsCanSeeGuests)
设置嘉宾是否可以查看其他嘉宾。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
guests | Boolean | 邀请对象是否能看到其他人 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setLocation(location)
设置活动地点。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the location of the // event to Noida. event.setLocation('Noida'); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
location | String | 新位置 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setMyStatus(status)
设置有效用户的活动状态(例如“参加”或“已受邀”)。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for February 1st, 2023 that takes // place between 4:10 PM and 4:25 PM. For an event series, use // calendar.getEventSeriesById('abc123456@google.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Feb 01, 2023 16:10:00'), new Date('Feb 01, 2023 16:25:00'), )[0]; if (event) { // If an event exists within the given time frame, sets the event status for // the current user to maybe. event.setMyStatus(CalendarApp.GuestStatus.MAYBE); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
status | Guest | 新状态 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.googleapis.com/auth/calendar.readonly -
https://www.google.com/calendar/feeds
setRecurrence(recurrence, startDate)
为全天活动系列设置重复规则。应用此方法会将常规活动系列更改为全天活动系列。
// Sets the events in a series to take place every Wednesday in 2013. const eventSeries = CalendarApp.getDefaultCalendar().getEventSeriesById( '123456789@example.com', ); const startDate = new Date('January 2, 2013 03:00:00 PM EST'); const recurrence = CalendarApp.newRecurrence() .addWeeklyRule() .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY) .until(new Date('January 1, 2014')); eventSeries.setRecurrence(recurrence, startDate);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
recurrence | Event | 要使用的重复规则 |
start | Date | 系列中第一个活动的日期(仅使用日期,忽略时间) |
返回
CalendarEventSeries - 用于链接的相应 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setRecurrence(recurrence, startTime, endTime)
为此系列活动设置重复规则。应用此方法会将全天活动系列更改为常规活动系列。
// Sets the events in a series to take place from 3pm to 4pm every Tuesday and // Thursday in 2013. const eventSeries = CalendarApp.getDefaultCalendar().getEventSeriesById( '123456789@example.com', ); const startTime = new Date('January 1, 2013 03:00:00 PM EST'); const endTime = new Date('January 1, 2013 04:00:00 PM EST'); const recurrence = CalendarApp.newRecurrence() .addWeeklyRule() .onlyOnWeekdays( [CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY]) .until(new Date('January 1, 2014')); eventSeries.setRecurrence(recurrence, startTime, endTime);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
recurrence | Event | 要使用的重复规则 |
start | Date | 系列中第一个活动的开始日期和时间 |
end | Date | 系列中第一个活动的结束日期和时间 |
返回
CalendarEventSeries - 用于链接的相应 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setTag(key, value)
在事件上设置键值对标记,用于存储自定义元数据。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
key | String | 标记键 |
value | String | 标记值 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setTitle(title)
设置活动的标题。
// Opens the calendar by its ID. You must have edit access to the calendar. // TODO(developer): Replace the ID with your own. const calendar = CalendarApp.getCalendarById( 'abc123456@group.calendar.google.com', ); // Gets the first event from the calendar for January 31st, 2023 that takes // place between 9:05 AM and 9:15 AM. For an event series, use // calendar.getEventSeriesById('abc123456@example.com'); and replace the series // ID with your own. const event = calendar.getEvents( new Date('Jan 31, 2023 09:05:00'), new Date('Jan 31, 2023 09:15:00'), )[0]; if (event) { // If an event exists within the given time frame, changes its title to // Event1. event.setTitle('Event1'); } else { // If no event exists within the given time frame, logs that information to // the console. console.log('No events exist for the specified range'); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
title | String | 新标题 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setTransparency(transparency)
设置事件的透明度。使用此方法可设置活动是否为
TRANSPARENT,即日历在该时间段内显示为“空闲”;或者是否为 OPAQUE
,即日历在该时间段内显示为“忙碌”。
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId) // instead. // TODO(developer): Replace the string with the event ID that you want to get. const event = CalendarApp.getEventById('abc123456'); // Sets the event's transparency to TRANSPARENT. event.setTransparency(CalendarApp.EventTransparency.TRANSPARENT);
参数
| 名称 | 类型 | 说明 |
|---|---|---|
transparency | Event | 透明度值。 |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries。
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds
setVisibility(visibility)
设置活动的公开范围。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
visibility | Visibility |
返回
CalendarEventSeries - 用于链式调用的 CalendarEventSeries
授权
使用此方法的脚本需要通过以下一个或多个范围或相关 REST API 中的相应范围进行授权:
-
https://www.googleapis.com/auth/calendar -
https://www.google.com/calendar/feeds