建立事件
如果您有主辦人 Google 日曆的寫入權限,可以使用 Events: insert
方法新增活動。
這個方法會直接將活動新增至主辦人的日曆,不受新增邀請設定影響。
新增與會者
使用這個方法時,您也可以將參與者的電子郵件地址新增至活動的 attendees
屬性,將參與者新增至同一場活動。活動發起人日後對活動所做的任何變更,都會傳播給參與者。
與會者會收到發起人電子郵件地址傳送的邀請。Google 日曆使用者會透過電子郵件和/或日曆收到邀請,具體取決於 Google 日曆設定中的活動設定:
- 如果對方已啟用
From everyone
設定,活動會直接新增到他們的日曆 - 如果對方已啟用
Only if the sender is known
設定,且先前曾與發起人互動、發起人與對方隸屬相同機構,或發起人是對方 Google 聯絡人,系統就會直接將活動新增到對方的日曆。如果邀請對象不認識主辦人,可以點按「新增至日曆」,或點按邀請電子郵件中的「是」或「不確定」回覆。活動就會新增到對方的日曆。 - 如果使用者啟用
When I respond in email
設定,系統會等到使用者點選邀請電子郵件中的「是」、「不確定」或「否」回覆邀請後,才將邀請新增到日曆。
如要進一步瞭解邀請如何新增至 Google 日曆,請參閱「管理 Google 日曆邀請」。
直接在與會者的日曆中顯示活動
如要讓 Google 日曆直接在受邀者的日曆中顯示活動,無論受邀者採用哪種設定,您都可以設定受邀者的敬請回覆狀態,或直接將活動副本匯入受邀者的日曆。無論使用哪種方法,您都需要具備與會者日曆的寫入權限。如果沒有,請考慮將主辦人新增至與會者的聯絡人,這可能需要與會者聯絡人的寫入權限。
設定出席者的回覆狀態
如要設定活動參與者的回覆狀態,請按照下列步驟操作:
- 在 Google 日曆主辦者的日曆中建立活動,並新增出席者 (請參閱上文)。
- 使用
Events: update
方法,將出席者的回覆狀態設為accepted
或tentative
。你必須具備與會者日曆的寫入權限。活動可能需要過一段時間才會顯示在與會者的日曆中。進一步瞭解如何使用Events: update
方法。
這個方法會將活動新增至與會者的日曆,但與會者可能仍會在電子郵件中看到橫幅,指出邀請是從他們先前不認識的地址傳送。
直接在參與者的日曆中匯入活動副本
如要將活動副本匯入參與者的日曆,請按照下列步驟操作:
- 如果您有主辦人的 Google 日曆寫入權限,請使用
Events: import
方法匯入活動副本。 - 使用
Events: import
,在與會者的日曆中匯入同一活動的另一個副本。 你必須擁有與會者日曆的寫入權限。主辦者和參與者的副本應使用相同的活動 ID (iCalUID
),並確保在參與者的副本中指定主辦者。
使用這種方法時,受邀者可以在日曆中看到活動,但不會收到 Google 日曆的邀請電子郵件。
將主辦人新增至出席者的聯絡人
如果沒有與會者的憑證,可以請與會者或其所屬機構預先將主辦者的電子郵件地址新增至 Google 聯絡人,這樣活動就會直接顯示在他們的日曆中。新建立的聯絡人可能需要過一段時間才會生效。
- 請 Google 日曆使用者將主辦人新增至 Google 聯絡人。
- 如果與會者屬於某個機構,您可以請該機構的管理員以程式輔助方式,將電子郵件地址新增至使用者的聯絡人。請管理員啟用網域範圍的委派,模擬使用者並使用
People: createContact
方法為每位使用者建立聯絡人,確保日後來自這些電子郵件地址的邀請會自動顯示在使用者日曆中。 - 如果您有權存取與會者的聯絡人,也可以使用
People: createContact
方法,將主辦者的電子郵件地址新增至與會者的聯絡人。
透過電子郵件地址邀請使用者
如果您沒有主辦人 Google 日曆的寫入權限,或不想公開主辦人的電子郵件地址,請使用 iCalendar 協定 (RFC-5545) 透過 .ICS 檔案邀請使用者。
如果受邀者是 Google 日曆使用者,且已啟用這項設定,但他們先前未曾與您互動,或未將您的地址記錄為已知地址,則必須點選「新增至日曆」或回覆活動邀請,系統才會將邀請新增至他們的日曆。Only if the sender
is known
提供連結,讓使用者新增活動
或者,如果想讓 Google 日曆使用者輕鬆新增一次性活動,不必持續更新,可以提供預先填入活動資訊的連結,讓使用者自行新增。這個方法會在使用者日曆中建立獨立活動,除非您有權存取使用者日曆,否則無法更新活動。
請使用下列連結範本:
https://calendar.google.com/calendar/r/eventedit?action=TEMPLATE&dates=20230325T224500Z%2F20230326T001500Z&stz=Europe/Brussels&etz=Europe/Brussels&details=EVENT_DESCRIPTION_HERE&location=EVENT_LOCATION_HERE&text=EVENT_TITLE_HERE
更新下列資訊:
- 開始和結束日期與時間:請使用 ISO 8601 格式。在上述範例中,請替換
20230325T224500Z
和20230326T001500Z
。 - 開始和結束時區:格式為 IANA 時區資料庫名稱。
將時區放在
stz
和etz
欄位中。 - 事件說明:必須經過網址編碼。
- 活動地點:必須經過網址編碼。
- 活動標題:必須經過網址編碼。
範例
以建立預約服務為例,協助使用者向商家預約。使用者預約服務時,您希望服務在預約者和商家 Google 日曆中新增活動。
為提供最佳使用者體驗,建議商家授予日曆的寫入權限,這樣您就能直接在商家的日曆中新增活動 (建立活動),並邀請預約者參加該活動 (新增出席者)。為確保預訂者會在日曆中看到活動並收到提醒,請告知他們在預訂後立即檢查電子郵件,並回覆「是」。他們回覆活動邀請後,系統會根據通知設定,透過 Google 日曆傳送活動通知。
如要直接將活動新增至預訂者的日曆,請告知預訂者將收到邀請的電子郵件地址新增至聯絡人。或者,請預訂者授予行事曆的寫入權限,以便代表他們以程式輔助方式回覆 (設定出席者的回覆狀態),並傳送電子郵件通知,告知預訂已確認。
如果商家不想公開電子郵件地址,請使用使用者專屬的電子郵件地址,透過電子郵件將活動傳送給預約者 (透過電子郵件地址邀請使用者)。
事件傳播
下圖說明瞭動態。首先,Jack 在自己的主要日曆中建立活動 (因此擁有主辦人副本)。接著,他邀請大提琴課程群組次要日曆和 Susan (活動設定為 Only if the sender is known
)。系統會在 Cello lesson 群組次要日曆中建立出席者的副本,如果 Susan 認識 Jack,也會在她的日曆中建立副本;否則,系統會在 Susan 回覆或表示認識 Jack 時建立副本。Susan 回覆後,系統會將回覆狀態變更傳回給主辦人,並更新主辦人副本中的 Susan 回覆狀態。系統會將發起人副本的變更傳播給其他參與者。
共用事件屬性
建立活動的日曆是主辦人日曆。這個日曆擁有共用的活動資訊,包括 ID、開始和結束時間、摘要和說明。當主辦者在日曆上更新這項資訊時,系統會將變更內容傳播給與會者副本。
私人活動屬性
並非所有活動副本都會共用所有資訊。部分屬性為私有屬性,例如提醒事項、colorId
、透明度或 extendedProperties.private
屬性。這些屬性由與會者的設定控管,而非主辦者的日曆。
參與者也可以變更活動的共用屬性。不過,這些變更只會反映在自己的副本上,如果主辦人進行變更,這些變更可能會遺失。
從參與者傳播回主辦者的唯一活動變更,是參與者的回覆狀態,儲存在 attendees[].responseStatus
屬性中。