iT邦幫忙

1

【Day 16】跨平台行事曆整合:n8n 串接 Google Calendar API 實現行程自動同步

  • 分享至 

  • xImage
  •  

在完成了前半段(Day 01 - Day 15)的 AI 待辦事項提煉與 Notion 看板落地後,後半段的鐵人賽我們將邁入「跨平台生態系整合」的新篇章!

單純把任務寫進 Notion 表格雖然方便檢視,但對於有明確執行時間的任務(例如「下週一早上九點要開會」),若能同步登錄至 Google Calendar(Google 行事曆),才能真正發揮手機推播提醒與時間管理的威力。今天我們要學習如何在 n8n 中設定 Google API 憑證,並將提煉出的任務自動轉化為行事曆行程!


為什麼需要同步至 Google Calendar?

  1. 主動式時間提醒:Notion 適合做靜態任務管理,但 Google Calendar 能在行程開始前(如 15 分鐘前)於手機與智慧手錶跳出系統級即時通知。
  2. 視覺化時間區塊(Time Blocking):將文字待辦自動佔用行事曆的時間格,避免同一時段被重複排程。
  3. 跨平台生態圈:Google Calendar 能無縫整合 iOS / Android 原生日曆以及主流郵件軟體。

核心實作步驟說明

1. 建立 Google OAuth2 憑證與授權

  • 前往 Google Cloud Console,建立一個新專案(或使用既有專案)。
  • 開啟 Google Calendar API 服務。
  • 設定 OAuth 同意畫面(OAuth Consent Screen),並新增憑證(OAuth 2.0 Client ID)。
  • 在 n8n 的 Google Calendar 節點中選擇 Google Calendar OAuth2 API,將 Client ID 與 Client Secret 填入並完成 Google 帳號授權登入。

2. 在 n8n 新增 Google Calendar 節點

  • 在 n8n 畫布中,將上一關分支或主流程連線至新增的 Google Calendar 節點。
  • Resource:選擇 Event。
  • Operation:选择 Create。
  • Calendar:選擇你的主行事曆(例如 Primary 或選定的特定行事曆)。

3. 設定行程屬性與時間轉換

  • Summary(行程標題):填入 {{ $json.task }}。
  • Start Time(開始時間):將 Dify/JS 提煉出的 ISO 時間字串帶入(例如 {{ $json.time }})。
  • End Time(結束時間):可透過 n8n 的 Date & Time 函數或表達式,自動加上預設時長(如預設 1 小時):
{{ $json.time.toDateTime().plus({ hours: 1 }).toISO() }}

  • Description(行程描述):填入 優先級:{{ $json.priority }} | 由 n8n AI 自動建立。

4. 執行測試與同步驗證

  • 點擊節點右上角的 「Execute step(執行步驟)」。
  • 節點回傳綠色勾勾 Node executed successfully。
  • 開啟 Google Calendar 網頁版或手機 App,確認指定的時間區塊已自動新增該筆行程!

今天我們成功把 AI 待辦管線延伸到了 Google 行事曆,完成了跨平台生態系的第一步。明天「Day 17」我們將進一步實現「條件式雙向流轉」:只有帶有明確時間點的任務才寫入 Google Calendar,其餘無特定時間的常規任務則留存在 Notion 看板!


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言