Calendar API 提供不同類型的活動資源,詳情請參閱「關於活動」一文。
如需本資源的方法清單,請見本頁結尾。
資源表示法
{ "kind": "calendar#event", "etag": etag, "id": string, "status": string, "htmlLink": string, "created": datetime, "updated": datetime, "summary": string, "description": string, "location": string, "colorId": string, "creator": { "id": string, "email": string, "displayName": string, "self": boolean }, "organizer": { "id": string, "email": string, "displayName": string, "self": boolean }, "start": { "date": date, "dateTime": datetime, "timeZone": string }, "end": { "date": date, "dateTime": datetime, "timeZone": string }, "endTimeUnspecified": boolean, "recurrence": [ string ], "recurringEventId": string, "originalStartTime": { "date": date, "dateTime": datetime, "timeZone": string }, "transparency": string, "visibility": string, "iCalUID": string, "sequence": integer, "attendees": [ { "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optional": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } ], "attendeesOmitted": boolean, "extendedProperties": { "private": { (key): string }, "shared": { (key): string } }, "hangoutLink": string, "conferenceData": { "createRequest": { "requestId": string, "conferenceSolutionKey": { "type": string }, "status": { "statusCode": string } }, "entryPoints": [ { "entryPointType": string, "uri": string, "label": string, "pin": string, "accessCode": string, "meetingCode": string, "passcode": string, "password": string } ], "conferenceSolution": { "key": { "type": string }, "name": string, "iconUri": string }, "conferenceId": string, "signature": string, "notes": string, }, "gadget": { "type": string, "title": string, "link": string, "iconLink": string, "width": integer, "height": integer, "display": string, "preferences": { (key): string } }, "anyoneCanAddSelf": boolean, "guestsCanInviteOthers": boolean, "guestsCanModify": boolean, "guestsCanSeeOtherGuests": boolean, "privateCopy": boolean, "locked": boolean, "reminders": { "useDefault": boolean, "overrides": [ { "method": string, "minutes": integer } ] }, "source": { "url": string, "title": string }, "workingLocationProperties": { "type": string, "homeOffice": (value), "customLocation": { "label": string }, "officeLocation": { "buildingId": string, "floorId": string, "floorSectionId": string, "deskId": string, "label": string } }, "outOfOfficeProperties": { "autoDeclineMode": string, "declineMessage": string }, "focusTimeProperties": { "autoDeclineMode": string, "declineMessage": string, "chatStatus": string }, "attachments": [ { "fileUrl": string, "title": string, "mimeType": string, "iconLink": string, "fileId": string } ], "birthdayProperties": { "contact": string, "type": string, "customTypeName": string }, "eventType": string }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
anyoneCanAddSelf |
boolean |
是否允許任何人將自己邀請至活動 (已淘汰)。選用設定。預設值為 False。 | 可寫入 |
attachments[] |
list |
活動的檔案附件。 如要修改附件,請將 每項活動最多可有 25 個附件。 |
|
attachments[].fileId |
string |
附件檔案的 ID。唯讀。 如果是 Google 雲端硬碟檔案,則是 Drive API 中對應 |
|
attachments[].fileUrl |
string |
附件的網址連結。 如要新增 Google 雲端硬碟檔案附件,格式與 Drive API 中 新增附件時必須提供。 |
可寫入 |
attachments[].iconLink |
string |
附件圖示的網址連結。您只能針對自訂第三方附件修改這個欄位。 | |
attachments[].mimeType |
string |
附件的網際網路媒體類型 (MIME 類型)。 | |
attachments[].title |
string |
附件名稱。 | |
attendeesOmitted |
boolean |
活動是否可能遺漏了與會者。擷取事件時,可能是因為 maxAttendee 查詢參數指定的限制所致。更新活動時,您可以使用這個參數只更新參與者的回應。選用設定。預設值為 False。 |
可寫入 |
attendees[] |
list |
活動的出席者。如要進一步瞭解如何與其他日曆使用者安排活動,請參閱「有參與者的活動」指南。服務帳戶必須使用全網域授權委派功能,才能填入參與者清單。 | 可寫入 |
attendees[].additionalGuests |
integer |
額外房客人數。選用設定。預設值為 0。 | 可寫入 |
attendees[].comment |
string |
與會者的回覆留言。選填。 | 可寫入 |
attendees[].displayName |
string |
出席者的姓名 (如有)。選填。 | 可寫入 |
attendees[].email |
string |
與會者的電子郵件地址 (如果有的話)。新增與會者時,必須提供這個欄位。必須是有效的電子郵件地址,符合 RFC5322 規定。 新增與會者時必須填寫此欄位。 |
可寫入 |
attendees[].id |
string |
出席者的設定檔 ID (如有)。 | |
attendees[].optional |
boolean |
此人是否為自由參加。選用設定。預設值為 False。 | 可寫入 |
attendees[].organizer |
boolean |
參與者是否為活動主辦人。唯讀的設定檔。預設值為 False。 | |
attendees[].resource |
boolean |
與會者是否為資源。只有在參與者首次加入活動時才能設定。系統會忽略後續的修改。選用設定。預設值為 False。 | 可寫入 |
attendees[].responseStatus |
string |
與會者的回覆狀態。可能的值包括:
|
可寫入 |
attendees[].self |
boolean |
此項目代表此活動副本出現在哪個日曆。唯讀的設定檔。預設值為 False。 | |
birthdayProperties |
nested object |
生日或特殊事件資料。如果 eventType 為 "birthday" ,則會使用此屬性。不可變更。 |
可寫入 |
birthdayProperties.contact |
string |
生日事件連結的聯絡人資源名稱。這可以用來從 People API 擷取聯絡人詳細資料。格式:"people/c12345" 。唯讀。 |
|
birthdayProperties.customTypeName |
string |
為這個事件指定的自訂類型標籤。如果 birthdayProperties.type 設為 "custom" ,就會填入這個值。唯讀。 |
|
birthdayProperties.type |
string |
生日或特殊活動類型。可能的值包括:
"birthday" 的活動。活動建立後即無法變更類型。 |
可寫入 |
colorId |
string |
事件的顏色。這個 ID 會參照顏色定義的 event 部分中的項目 (請參閱 顏色端點)。選填。 |
可寫入 |
conferenceData |
nested object |
會議相關資訊,例如 Google Meet 會議的詳細資料。如要建立新的會議詳細資料,請使用 createRequest 欄位。如要保留變更,請務必將所有事件修改要求的 conferenceDataVersion 要求參數設為 1 。 |
可寫入 |
conferenceData.conferenceId |
string |
會議的 ID。 開發人員可用於追蹤會議,但不應向使用者顯示。 每種會議解決方案類型的 ID 值會以不同的方式建立:
|
|
conferenceData.conferenceSolution |
nested object |
會議解決方案,例如 Google Meet。 針對建立要求失敗的會議,將此值設為未設定。 您必須使用 |
|
conferenceData.conferenceSolution.iconUri |
string |
使用者看到的這項解決方案圖示。 | |
conferenceData.conferenceSolution.key |
nested object |
可用於識別此事件的會議解決方案專屬鍵。 | |
conferenceData.conferenceSolution.key.type |
string |
會議解決方案類型。 如果用戶端遇到不熟悉或空白的類型,仍應能顯示進入點。但應禁止修改。 可能的值如下:
|
|
conferenceData.conferenceSolution.name |
string |
使用者看到的解決方案名稱。未經本地化處理。 | |
conferenceData.createRequest |
nested object |
要求產生新的會議,並將其附加至事件。資料是以非同步方式產生。如要確認資料是否存在,請檢查 status 欄位。必須提供 |
|
conferenceData.createRequest.conferenceSolutionKey |
nested object |
提供會議解決方案,例如 Hangouts 或 Google Meet。 | |
conferenceData.createRequest.conferenceSolutionKey.type |
string |
會議解決方案類型。 如果用戶端遇到不熟悉或空白的類型,仍應能顯示進入點。但應禁止修改。 可能的值如下:
|
|
conferenceData.createRequest.requestId |
string |
用戶端為這個要求產生的專屬 ID。 用戶端應為每項新要求重新產生此 ID。如果提供的 ID 與先前要求中的 ID 相同,系統就會忽略該要求。 |
|
conferenceData.createRequest.status |
nested object |
會議建立要求的狀態。 | |
conferenceData.createRequest.status.statusCode |
string |
會議建立要求的目前狀態。唯讀。 可能的值如下:
|
|
conferenceData.entryPoints[] |
list |
個別會議入口點的資訊,例如網址或電話號碼。 所有會議都必須屬於同一個會議。 您必須使用 |
|
conferenceData.entryPoints[].accessCode |
string |
會議的存取碼。長度上限為 128 個半形字元。 建立新會議資料時,請只填入與會議服務供應商所用術語相符的 { 選填。 |
|
conferenceData.entryPoints[].entryPointType |
string |
會議進入點的類型。 可能的值為:
|
|
conferenceData.entryPoints[].label |
string |
URI 的標籤。向使用者顯示。未經本地化處理。長度上限為 512 個半形字元。 範例:
選填。 |
|
conferenceData.entryPoints[].meetingCode |
string |
會議代碼,可用於存取會議。長度上限為 128 個半形字元。 建立新會議資料時,請只填入與會議服務供應商所用術語相符的 { 選填。 |
|
conferenceData.entryPoints[].passcode |
string |
會議存取密碼。長度上限為 128 個半形字元。 建立新會議資料時,請只填入與會議供應商使用的術語相符的 { |
|
conferenceData.entryPoints[].password |
string |
會議存取密碼。長度上限為 128 個半形字元。 建立新會議資料時,請只填入與會議服務供應商所用術語相符的 { 選填。 |
|
conferenceData.entryPoints[].pin |
string |
存取會議的 PIN 碼。長度上限為 128 個半形字元。 建立新會議資料時,請只填入與會議服務供應商所用術語相符的 { 選填。 |
|
conferenceData.entryPoints[].uri |
string |
進入點的 URI。長度上限為 1300 個半形字元。 格式:
|
|
conferenceData.notes |
string |
其他要向使用者顯示的附註 (例如網域管理員的指示、法律通知)。可包含 HTML。長度上限為 2048 個半形字元。選填。 | |
conferenceData.signature |
string |
會議資料的簽名。 在伺服器端產生。 針對建立要求失敗的會議,將此值設為未設定。 如有待處理的建立要求,可為會議選擇此選項。 |
|
created |
datetime |
事件的建立時間 (以 RFC3339 時間戳記表示)。唯讀。 | |
creator |
object |
活動的建立者。唯讀。 | |
creator.displayName |
string |
創作者的名稱 (如有)。 | |
creator.email |
string |
創作者的電子郵件地址 (如果有的話)。 | |
creator.id |
string |
創作者的個人資料 ID (如有)。 | |
creator.self |
boolean |
建立者是否與活動副本出現的日曆對應。唯讀的設定檔。預設值為 False。 | |
description |
string |
活動的說明。可包含 HTML。選填。 | 可寫入 |
end |
nested object |
活動的結束時間 (不包含在內)。如果是週期性活動,則這是指第一個活動的結束時間。 | |
end.date |
date |
如果是全天活動,則日期格式為「yyyy-mm-dd」。 | 可寫入 |
end.dateTime |
datetime |
時間,以結合日期和時間的值表示 (格式符合 RFC3339 標準)。除非在 timeZone 中明確指定時區,否則必須指定時區偏移量。 |
可寫入 |
end.timeZone |
string |
指定時間的時區。(格式為 IANA 時區資料庫名稱,例如「歐洲/蘇黎世」)。這個欄位適用於週期性活動,且為必填欄位,用來指定週期性活動的擴充時區。對於單一事件,這個欄位是選用的,可用於指定事件開始/結束時間的自訂時區。 | 可寫入 |
endTimeUnspecified |
boolean |
是否實際未指定結束時間。即使此屬性設為「True」,系統仍會提供結束時間,以確保相容性。預設值為 False。 | |
etag |
etag |
資源的 ETag。 | |
eventType |
string |
事件的具體類型。這項設定在活動建立後即無法變更。可能的值包括:
|
可寫入 |
extendedProperties |
object |
事件的擴充屬性。 | |
extendedProperties.private |
object |
此日曆上顯示的活動副本專屬的私人屬性。 | 可寫入 |
extendedProperties.private.(key) |
string |
私人資源的名稱和對應值。 | |
extendedProperties.shared |
object |
在其他參與者日曆上,活動副本之間共用的屬性。 | 可寫入 |
extendedProperties.shared.(key) |
string |
共用屬性的名稱和對應值。 | |
focusTimeProperties |
nested object |
專注時間活動資料。如果 eventType 為 focusTime ,則會使用此屬性。 |
可寫入 |
focusTimeProperties.autoDeclineMode |
string |
是否拒絕與專注時間活動重疊的會議邀請。有效值包括 declineNone (代表不會拒絕任何會議邀請)、declineAllConflictingInvitations (代表會拒絕所有與活動衝突的會議邀請) 和 declineOnlyNewConflictingInvitations (代表只會拒絕在專注時間活動期間收到的新會議邀請)。 |
|
focusTimeProperties.chatStatus |
string |
在 Chat 和相關產品中標記使用者的狀態。可以是 available 或 doNotDisturb 。 |
|
focusTimeProperties.declineMessage |
string |
當日曆自動拒絕現有活動或新邀請時,要設定的回應訊息。 | |
gadget |
object |
延伸這個事件的小工具。小工具已淘汰,這個結構只會用於傳回生日日曆的結構描述資料。 | |
gadget.display |
string |
小工具的顯示模式。已淘汰,可能的值包括:
|
可寫入 |
gadget.height |
integer |
小工具的高度 (以像素為單位)。高度必須為大於 0 的整數。選用設定。已淘汰。 | 可寫入 |
gadget.iconLink |
string |
小工具的圖示網址。網址配置必須是 HTTPS。已淘汰。 | 可寫入 |
gadget.link |
string |
小工具的網址。網址架構必須為 HTTPS。已淘汰。 | 可寫入 |
gadget.preferences |
object |
。 | 可寫入 |
gadget.preferences.(key) |
string |
偏好設定名稱和對應值。 | |
gadget.title |
string |
小工具的標題。已淘汰。 | 可寫入 |
gadget.type |
string |
小工具的類型。已淘汰。 | 可寫入 |
gadget.width |
integer |
小工具的寬度 (單位為像素)。寬度必須是大於 0 的整數。選用設定。已淘汰。 | 可寫入 |
guestsCanInviteOthers |
boolean |
主辦單位以外的參與者是否能邀請其他人參加活動。選用設定。預設值為 True。 | 可寫入 |
guestsCanModify |
boolean |
主辦人以外的與會者是否可以修改活動。選用設定。預設值為 False。 | 可寫入 |
guestsCanSeeOtherGuests |
boolean |
主辦人以外的與會者是否可以查看活動的與會者。選用設定。預設值為 True。 | 可寫入 |
hangoutLink |
string |
與這項活動相關聯的 Google Hangouts 絕對連結。唯讀。 | |
htmlLink |
string |
這個活動在 Google 日曆網頁使用者介面中的絕對連結。唯讀。 | |
iCalUID |
string |
RFC5545 中定義的事件專屬 ID。這項 ID 可用於在不同日曆系統中唯一識別事件,並須在透過import方法匯入事件時提供。 請注意, |
|
id |
string |
事件的不明瞭識別碼。建立新的單次或週期性事件時,您可以指定 ID。提供的 ID 必須遵循下列規則:
如果您未指定 ID,系統會自動產生 ID。 請注意, |
可寫入 |
kind |
string |
資源類型 (「calendar#event 」)。 |
|
location |
string |
活動的地理位置,以任意形式顯示。選填。 | 可寫入 |
locked |
boolean |
是否為已鎖定的活動副本,無法變更主要活動欄位「摘要」、「說明」、「地點」、「開始時間」、「結束時間」或「週期性」的值。預設值為 False。唯讀。 | |
organizer |
object |
活動主辦人。如果主辦人也是與會者,attendees 中會有個別的項目,且 organizer 欄位會設為 True。如要變更主辦人,請使用「move」運算子。唯讀,但匯入事件時除外。 |
可寫入 |
organizer.displayName |
string |
主辦人的姓名 (如有)。 | 可寫入 |
organizer.email |
string |
主辦人的電子郵件地址 (如果有的話)。必須是有效的電子郵件地址,符合 RFC5322 的規定。 | 可寫入 |
organizer.id |
string |
活動主辦人的設定檔 ID (如有)。 | |
organizer.self |
boolean |
發起人是否與活動副本出現在哪個日曆上。唯讀的設定檔。預設值為 False。 | |
originalStartTime |
nested object |
對於週期性活動的例項,這項屬性是指週期性活動開始的時間,這項資料可從以 recurringEventId 識別的週期性活動取得。即使事件已移至其他時間,這項資訊仍可用於在重複事件系列中唯一識別該個別事件。不可變更。 | |
originalStartTime.date |
date |
如果是全天活動,則日期格式為「yyyy-mm-dd」。 | 可寫入 |
originalStartTime.dateTime |
datetime |
採用合併的日期時間值 (根據 RFC3339 格式) 表示的時間。除非在 timeZone 中明確指定時區,否則必須使用時區偏移。 |
可寫入 |
originalStartTime.timeZone |
string |
指定時間的時區。(格式為 IANA 時區資料庫名稱,例如「歐洲/蘇黎世」)。這個欄位適用於週期性活動,且為必填欄位,用來指定週期性活動的擴充時區。對於單一事件,這個欄位是選用的,可用於指定事件開始/結束時間的自訂時區。 | 可寫入 |
outOfOfficeProperties |
nested object |
不在辦公室的活動資料。當 eventType 為 outOfOffice 時使用。 |
可寫入 |
outOfOfficeProperties.autoDeclineMode |
string |
是否拒絕與不在辦公室活動重疊的會議邀請。有效值為 declineNone ,表示不會拒絕任何會議邀請;declineAllConflictingInvitations ,表示會拒絕所有與活動衝突的會議邀請;declineOnlyNewConflictingInvitations ,表示只會拒絕在「不在辦公室」活動期間收到的新會議邀請。 |
|
outOfOfficeProperties.declineMessage |
string |
當日曆自動拒絕現有活動或新邀請時,要設定的回應訊息。 | |
privateCopy |
boolean |
如果設為 True,系統就會停用事件傳播功能。請注意,這與私人事件資源不同。選用設定。不可變動。預設值為 False。 | |
recurrence[] |
list |
如 RFC5545 所述,這是重複事件的 RRULE、EXRULE、RDATE 和 EXDATE 列清單。請注意,這個欄位不允許使用 DTSTART 和 DTEND 行;事件開始和結束時間已在 start 和 end 欄位中指定。對於單一事件或週期性事件的例項,則省略這個欄位。 |
可寫入 |
recurringEventId |
string |
對於週期性活動的例項,這是例項所屬週期性活動的 id 。不可變更。 |
|
reminders |
object |
已驗證使用者活動提醒的相關資訊。請注意,變更提醒並不會同時變更相關活動的 updated 屬性。 |
|
reminders.overrides[] |
list |
如果活動未使用預設提醒,這裡會列出該活動專屬的提醒事項;如果未設定提醒事項,則表示系統未為此活動設定提醒事項。覆寫提醒的數量上限為 5 個。 | 可寫入 |
reminders.overrides[].method |
string |
這項提醒使用的方法。可能的值包括:
新增提醒時為必填。 |
可寫入 |
reminders.overrides[].minutes |
integer |
活動開始前幾分鐘,系統應觸發提醒的時間點。有效值介於 0 到 40320 (4 週以分鐘為單位) 之間。 新增提醒時為必填。 |
可寫入 |
reminders.useDefault |
boolean |
日曆的預設提醒是否套用至活動。 | 可寫入 |
sequence |
integer |
其序號。 | 可寫入 |
source |
object |
事件建立來源。例如網頁、電子郵件或任何可透過 HTTP 或 HTTPS 通訊協定網址識別的文件。只有活動建立者可以查看或修改。 | |
source.title |
string |
來源的標題,例如網頁標題或電子郵件主旨。 | 可寫入 |
source.url |
string |
指向資源的來源網址。網址配置必須為 HTTP 或 HTTPS。 | 可寫入 |
start |
nested object |
活動的開始時間 (包含在內)。如果是週期性事件,則為第一個例項的開始時間。 | |
start.date |
date |
如果是全天活動,則日期格式為「yyyy-mm-dd」。 | 可寫入 |
start.dateTime |
datetime |
採用合併的日期時間值 (根據 RFC3339 格式) 表示的時間。除非在 timeZone 中明確指定時區,否則必須指定時區偏移量。 |
可寫入 |
start.timeZone |
string |
指定時間的時區。(格式為 IANA 時區資料庫名稱,例如「歐洲/蘇黎世」)。這個欄位適用於週期性活動,且為必填欄位,用來指定週期性活動的擴充時區。對於單一事件,這個欄位是選用的,可用於指定事件開始/結束時間的自訂時區。 | 可寫入 |
status |
string |
事件的狀態。選用設定。可能的值包括:
|
可寫入 |
summary |
string |
活動的名稱。 | 可寫入 |
transparency |
string |
活動是否會在日曆上阻擋時間。選用設定。可能的值包括:
|
可寫入 |
updated |
datetime |
主要事件資料的上次修改時間 (以 RFC3339 時間戳記表示)。更新活動提醒不會造成這項變更。唯讀。 | |
visibility |
string |
事件的瀏覽權限。選用設定。可能的值包括:
|
可寫入 |
workingLocationProperties |
nested object |
工作地點事件資料。 | 可寫入 |
workingLocationProperties.customLocation |
object |
如果存在,則表示使用者是在自訂位置工作。 | 可寫入 |
workingLocationProperties.customLocation.label |
string |
額外資訊的選用額外標籤。 | 可寫入 |
workingLocationProperties.homeOffice |
any value |
如果存在,則表示使用者在家工作。 | 可寫入 |
workingLocationProperties.officeLocation |
object |
如果有,則指出使用者是在辦公室工作。 | 可寫入 |
workingLocationProperties.officeLocation.buildingId |
string |
選用的建築物 ID。這個值應參照機構資源資料庫中的建築物 ID。 | 可寫入 |
workingLocationProperties.officeLocation.deskId |
string |
選用的櫃檯 ID。 | 可寫入 |
workingLocationProperties.officeLocation.floorId |
string |
選用的樓層 ID。 | 可寫入 |
workingLocationProperties.officeLocation.floorSectionId |
string |
選用的樓層區段 ID。 | 可寫入 |
workingLocationProperties.officeLocation.label |
string |
在 Google 日曆網頁版和行動版用戶端顯示的辦公室名稱。建議您參考機構的「資源」資料庫中的建築物名稱。 | 可寫入 |
workingLocationProperties.type |
string |
工作地點的類型。可能的值包括:
新增工作地點屬性時必須使用。 |
可寫入 |
方法
- 刪除
- 刪除事件。
- get
- 根據 Google 日曆 ID 傳回活動。如要使用 iCalendar ID 擷取活動,請使用
iCalUID
參數呼叫 events.list 方法。 - import
- 匯入事件。這個作業可將現有活動的私人副本新增至日曆。您只能匯入
eventType
為default
的事件。已淘汰的行為:如果匯入非
default
事件,系統會將其類型變更為default
,並捨棄該事件可能具有的任何事件類型專屬屬性。 - 插入
- 建立事件。
- instances
- 傳回指定週期性活動的例項。
- list
- 傳回指定日曆上的活動。
- move
- 將活動移至其他日曆,也就是變更活動主辦人。請注意,只有
default
事件可以移動;birthday
、focusTime
、fromGmail
、outOfOffice
和workingLocation
事件無法移動。 - 修補程式
- 更新事件。這個方法支援 patch 語意。請注意,每個修補要求都會消耗三個配額單位;建議使用
get
後接update
。您指定的欄位值會取代現有的值。您在要求中未指定的欄位會維持不變。如果指定陣列欄位,系統會覆寫現有的陣列,並捨棄任何先前的陣列元素。 - quickAdd
- 根據簡單的文字字串建立事件。
- update
- 更新事件。這個方法不支援 patch 語意,且一律會更新整個事件資源。如要進行部分更新,請使用 etags 執行
get
,然後再執行update
,以確保原子性。 - 手錶
- 留意「活動」資源的異動。