允許指令碼讀取及更新使用者的 Google 日曆。這個類別可以提供直接存取權 還可以擷取其他日曆 使用者擁有或訂閱的頻道
屬性
屬性 | 類型 | 說明 |
---|---|---|
Color | Color | 列舉代表日曆服務中可用的已命名顏色。 |
EventColor | EventColor | 列舉代表日曆服務中可用的已命名活動顏色。 |
GuestStatus | GuestStatus | 列舉代表邀請對象可對活動擁有的狀態。 |
Month | Month | 列舉代表一年中的月份。 |
Visibility | Visibility | 列舉代表事件的顯示設定。 |
Weekday | Weekday | 代表星期幾的列舉。 |
方法
內容詳盡的說明文件
createAllDayEvent(title, date)
建立新的全天活動。
// Creates an all-day event for the moon landing and logs the ID. var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing', new Date('July 20, 1969')); Logger.log('Event ID: ' + event.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var 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. var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Woodstock Festival', new Date('August 15, 1969'), new Date('August 18, 1969'), {location: 'Bethel, White Lake, New York, U.S.', sendInvites: true}); Logger.log('Event ID: ' + event.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var 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. var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings', new Date('January 2, 2013 03:00:00 PM EST'), CalendarApp.newRecurrence().addWeeklyRule() .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY) .until(new Date('January 1, 2014'))); Logger.log('Event Series ID: ' + eventSeries.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings', new Date('January 2, 2013 03:00:00 PM EST'), CalendarApp.newRecurrence().addWeeklyRule() .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY) .until(new Date('January 1, 2014')), {guests: 'everyone@example.com'}); Logger.log('Event Series ID: ' + eventSeries.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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". var 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 summary and color. var calendar = CalendarApp.createCalendar('Travel Plans', { summary: 'A calendar to plan my travel schedule.', color: CalendarApp.Color.BLUE }); Logger.log('Created the calendar "%s", with the ID "%s".', calendar.getName(), calendar.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
name | String | 新日曆的名稱 |
options | Object | 指定進階參數的 JavaScript 物件,如下所示 |
進階參數
名稱 | 類型 | 說明 |
---|---|---|
location | String | 日曆的位置 |
summary | String | 日曆說明 |
timeZone | String | 設定日曆的時區 (以「長」指定) 格式 (例如「America/New_York」,由 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. var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing', new Date('July 20, 1969 20:00:00 UTC'), new Date('July 21, 1969 21:00:00 UTC')); Logger.log('Event ID: ' + event.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing', new Date('July 20, 1969 20:00:00 UTC'), new Date('July 20, 1969 21:00:00 UTC'), {location: 'The Moon'}); Logger.log('Event ID: ' + event.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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)
使用任意形式的說明建立活動。
說明的格式應與 UI 的「快速加入」功能相同。
// Creates a new event and logs its ID. var event = CalendarApp.getDefaultCalendar() .createEventFromDescription('Lunch with Mary, Friday at 1PM'); Logger.log('Event ID: ' + event.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting', new Date('January 1, 2013 03:00:00 PM EST'), new Date('January 1, 2013 04:00:00 PM EST'), CalendarApp.newRecurrence().addWeeklyRule() .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY]) .until(new Date('January 1, 2014'))); Logger.log('Event Series ID: ' + eventSeries.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var eventSeries = CalendarApp.getDefaultCalendar().createEventSeries('Team Meeting', new Date('January 1, 2013 03:00:00 PM EST'), new Date('January 1, 2013 04:00:00 PM EST'), CalendarApp.newRecurrence().addWeeklyRule() .onlyOnWeekdays([CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY]) .until(new Date('January 1, 2014')), {location: 'Conference Room'}); Logger.log('Event Series ID: ' + eventSeries.getId());
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var 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. var 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)
取得具有指定 ID 的日曆。
// Gets the public calendar "US Holidays" by ID. var calendar = CalendarApp.getCalendarById( 'en.usa#holiday@group.v.calendar.google.com'); Logger.log('The calendar is named "%s".', calendar.getName());
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 日曆 ID |
回攻員
Calendar
:含有指定 ID 的日曆;如果日曆不存在,則為 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". var 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. var 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)
取得含有指定 ID 的事件。如果系列不屬於預設日曆
日曆上,就必須從該日曆呼叫此方法。只能撥打 getEventById(iCalId)
傳回預設日曆中的活動。
如有多項活動屬於某個活動系列,可能會使用相同的 ID。在這個案例中 此方法只會傳回該序列中的第一個事件。
// 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 | 事件 ID。 |
回攻員
CalendarEvent
:含有指定 ID 的事件;如果沒有事件或使用者,則為 null
就無法加以存取
授權
使用這個方法的指令碼需要授權下列一或多個範圍或相關 REST API 中的適當範圍:
-
https://www.googleapis.com/auth/calendar
-
https://www.googleapis.com/auth/calendar.readonly
-
https://www.google.com/calendar/feeds
getEventSeriesById(iCalId)
使用指定 ID 取得事件系列。如果提供的 ID 適用於單一 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 | 活動系列的 ID。 |
回攻員
CalendarEventSeries
:含有指定 ID 的系列。如果沒有系列叢書,或使用者不存在,則為 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. var now = new Date(); var twoHoursFromNow = new Date(now.getTime() + (2 * 60 * 60 * 1000)); var events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow); Logger.log('Number of events: ' + events.length);
參數
名稱 | 類型 | 說明 |
---|---|---|
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". var now = new Date(); var twoHoursFromNow = new Date(now.getTime() + (2 * 60 * 60 * 1000)); var events = CalendarApp.getDefaultCalendar().getEvents(now, twoHoursFromNow, {search: 'meeting'}); Logger.log('Number of events: ' + events.length);
參數
名稱 | 類型 | 說明 |
---|---|---|
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. var today = new Date(); var 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". var today = new Date(); var 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()
取得日曆的 ID。使用者的預設日曆 ID 是他們的電子郵件地址。
// 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
:日曆的 ID。
授權
使用這個方法的指令碼需要授權下列一或多個範圍或相關 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)
取得含有指定 ID 的日曆 (如果使用者擁有該日曆)。
如要查詢日曆 ID,請在 Google 日曆中按一下日曆名稱旁邊的箭頭,然後 選取「日曆設定」。這個 ID 會顯示在設定底部附近 頁面。
// Gets a (non-existent) private calendar by ID. var calendar = CalendarApp.getOwnedCalendarById( '123456789@group.calendar.google.com'); Logger.log('The calendar is named "%s".', calendar.getName());
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 日曆 ID |
回攻員
Calendar
:含有指定 ID 的日曆;如果沒有日曆,則為 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". var 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
:時區,以「long」指定格式 (例如「America/New_York」,例如:
由 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);
回攻員
Boolean
- true
表示日曆在使用者介面中隱藏;如果符合,則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);
回攻員
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()
決定日曆的擁有者是否為你所有。
// 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());
回攻員
Boolean
— true
(日曆擁有者:您);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());
回攻員
Boolean
- 如果日曆事件顯示在使用者介面中,則為 true
;如果不需要,則設為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. var recurrence = CalendarApp.newRecurrence().addWeeklyRule() .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY) .until(new Date('January 1, 2014')); var 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 | 時區,指定「long」格式 (例如「America/New_York」、 Joda.org 列出)。 |
回攻員
Calendar
:此日曆用於鏈結。
授權
使用這個方法的指令碼需要授權下列一或多個範圍或相關 REST API 中的適當範圍:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
subscribeToCalendar(id)
在使用者可以訂閱的情況下,以指定 ID 為使用者訂閱日曆。
// Subscribe to the calendar "US Holidays". var calendar = CalendarApp.subscribeToCalendar( 'en.usa#holiday@group.v.calendar.google.com'); Logger.log('Subscribed to the calendar "%s".', calendar.getName());
參數
名稱 | 類型 | 說明 |
---|---|---|
id | String | 要訂閱的日曆 ID |
回攻員
Calendar
:新訂閱的日曆
擲回
Error
:如果沒有具有此 ID 的日曆
授權
使用這個方法的指令碼需要授權下列一或多個範圍或相關 REST API 中的適當範圍:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds
subscribeToCalendar(id, options)
在使用者可以訂閱的情況下,以指定 ID 為使用者訂閱日曆。
// Subscribe to the calendar "US Holidays", and set it to the color blue. var 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 | 要訂閱的日曆 ID。 |
options | Object | 指定進階參數的 JavaScript 物件,如下所示。 |
進階參數
名稱 | 類型 | 說明 |
---|---|---|
color | String | 十六進位顏色字串 (「#rrggbb」) 或是 CalendarApp.Colors 的值。 |
hidden | Boolean | 是否要在使用者介面中隱藏日曆 (預設值:
false )。 |
selected | Boolean | 日曆活動是否會向使用者顯示
介面 (如果一併指定 color ,則預設為 true ,false
否則)。 |
回攻員
Calendar
:新訂閱的日曆。
擲回
Error
:如果沒有具有此 ID 的日曆
授權
使用這個方法的指令碼需要授權下列一或多個範圍或相關 REST API 中的適當範圍:
-
https://www.googleapis.com/auth/calendar
-
https://www.google.com/calendar/feeds