跳轉到

Google Cloud Project 前置設定(Google OAuth)

[!WARNING] ☁️ 完整體驗 (Real Data World) | ⏱️ 預計 15-20 分鐘
此文檔屬於「30+ 分鐘完整設置體驗」的 第一步。若您只希望進行 5 分鐘快速體驗(無任何成本),請回到 README 選擇「Mock 模式快速開始」。

本文檔涵蓋如何從零建立 Google Cloud Project,並完成 Time Compass 所需的 Google OAuth 設定。

體驗流程:此為【Real Data World 必須步驟】→ OAuth 驗證流程(下一步)→ 完整設置完成。

[!NOTE] 快速進入? 若您為評審、或已獲得 .env 檔案,可直接使用環境變數 MCP_DEV_MODE=1 來跳過本步驟,使用內建的 mock data 進行測試。


簡介:完整設定流程

本指南分為四個主要步驟,從建立 Google Cloud Project、啟用 API、到取得所有必要的 OAuth 憑證。

最終目的: 取得 GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET,填入 .env 環境設定檔

如果你已經熟悉 Google Cloud 設定流程

如果您已熟悉 Google Cloud Console,可先依下列精簡步驟完成設定: 如果您不熟悉,請直接從下方「準備工作」開始,依序完成完整流程。

TOC - 準備工作 - Step 1:建立 Google Cloud Project - Step 2:設定 Google Auth Platform(OAuth 同意畫面) - Step 3:建立 OAuth Client(Web application) - Step 4:配置環境變數 - 完成後檢查清單 - 官方文檔參考

  1. 建立(或選取)Google Cloud Project,並進入該 Project Dashboard
  2. 啟用 3 個 API:Google Tasks API、Google Calendar API、Gmail API
  3. 完成 Google Auth Platform 設定:依序完成 BrandingAudience (External)Contact Information,並加入 Test Users
  4. 建立 OAuth Client(Web application),完整設定以下 URI 後建立憑證:
  5. Authorized redirect URIs:http://127.0.0.1:8788/authhttp://localhost:8788/authhttp://127.0.0.1:8000/authhttp://localhost:8000/auth
  6. 複製 CLIENT ID / CLIENT SECRET 並填入 .env

四大步驟概覽

這裡先提供流程概覽,幫您快速掌握整體有哪些步驟,以及每一步會帶來的結果。

  1. 建立 Google Cloud Project
  2. 目的與效果:建立或選擇 Project,讓您擁有獨立的 API 配額與計費空間。
  3. 完成後您會得到:✅ Google Cloud Project 建立完成、Project ID 已記錄

  4. 啟用必要 API

  5. 目的與效果:啟用 Google Calendar、Google Tasks、Gmail API,讓這些服務可在您的 Project 中使用。
  6. 完成後您會得到:✅ 三個 API 都已啟用、可供認證之用

  7. 設定 Google Auth Platform(OAuth 同意畫面)

  8. 目的與效果:配置應用資訊與目標對象,讓使用者授權時能看到正確的應用資訊。
  9. 完成後您會得到:✅ OAuth 同意畫面配置完成

  10. 建立 OAuth Client(Web application)

  11. 目的與效果:建立 Web application 類型的 OAuth Client,取得應用程式所需的 OAuth 憑證。
  12. 完成後您會得到:✅ GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET 已複製

[!NOTE] 關於「執行」:本指南中的「執行 [指令]」表示: 1. 複製下方框框內的完整指令(如適用) 2. 貼到終端機中 3. 按下 Enter 鍵執行


準備工作

  1. 打開 瀏覽器 您會看到:瀏覽器開啟

  2. 貼上 以下網址並按 Enter:

    https://console.cloud.google.com/projectcreate?hl=zh-tw
    

    [!NOTE] 此連結可直接進入新增專案頁面。登入 Google 帳號後(若未登入)即可開始建立新 Project。

建立新 Project 頁面


Step 1:建立 Google Cloud Project

Step 1.1:建立新 Project

根據之前的準備工作,您已進入新增專案頁面。現在完成以下步驟:

建立新 Project 頁面

  1. 輸入 Project 名稱(例如 TimeCompass

  2. 選擇 「父項資源」(可選)

  3. 點擊 「建立」按鈕 您會看到:系統建立專案中,可能需要數秒時間,之後會自動返回 Console 首頁並顯示專案列表

Step 1.2:選取新建立的 Project

建立完成後,系統會自動進入新 Project 的 Dashboard。

Project Dashboard - 儀表板完成

確認 頁面頂部顯示您的 Project 名稱 您會看到:Dashboard 已準備好進行下一步

如果頁面沒有自動跳轉,您會看到「選取專案」列表,列出所有已建立的專案。

專案列表 - 選取新建的專案

  1. 在列表中找到 您剛建立的專案(例如 TimeCompass) 您會看到:列表顯示新建立的專案在頂部或按時間排序

  2. 點擊該專案 您會看到:系統切換至該 Project,自動跳轉至 Project Dashboard(啟用 API)

Step 1.3:開啟導覽選單

在設定 API 前,需要進入 Google Cloud Console 的服務選單。

開啟導覽選單

  1. 點擊 頁面左上角的 選單(≡ 圖示)

  2. 確認 左側邊欄已展開 您會看到:可以看到「APIs & Services」等選項

Step 1.4:進入 API 程式庫

在左側邊欄中找到並進入 API 程式庫。

進入 API 程式庫

  1. 在左側邊欄找到並點擊 「API 和服務」 您會看到:展開 API 和服務的子選單

  2. 點擊 「程式庫」 您會看到:進入 API 程式庫頁面,顯示所有可用的 Google API 列表


Step 1.5:啟用必要 API

  1. 進入 「APIs & Services」→「Library」(或直接搜尋) 您會看到:頁面顯示 API 庫藏類別列表

  2. 搜尋並啟用 以下三個 API(逐個執行步驟 1.5.1 ~ 1.5.3):

Step 1.5.1:啟用 Google Tasks API

  1. 在搜尋框中輸入 「tasks」 您會看到:搜尋框顯示您輸入的關鍵字

  2. 按下 Enter 鍵 您會看到:搜尋結果列表顯示 Tasks 相關的 API

搜尋 Tasks API

  1. 點擊 「Google Tasks API」卡片 您會看到:進入 Google Tasks API 詳細頁面

Google Tasks API 卡片

  1. 點擊 「啟用」或「ENABLE」按鈕 您會看到:API 狀態變為「已啟用」或「API is enabled」

啟用 Google Tasks API

  1. 返回 API 程式庫 以啟用下一個 API

Tasks API 已啟用 - 返回按鈕

點擊 頁面左上角的返回箭頭 ← 您會看到:返回 API 程式庫,準備啟用下一個 API

Step 1.5.2:啟用 Google Calendar API

  1. 在搜尋框中輸入 「calendar」 您會看到:搜尋框顯示您輸入的關鍵字

  2. 按下 Enter 鍵 您會看到:搜尋結果列表顯示 Calendar 相關的 API

  3. 點擊 「Google Calendar API」卡片 您會看到:進入 Google Calendar API 詳細頁面

  4. 點擊 「啟用」或「ENABLE」按鈕 您會看到:API 狀態變為「已啟用」或「API is enabled」

  5. 返回 API 程式庫 以啟用下一個 API 點擊 頁面左上角的返回箭頭 ← 您會看到:返回 API 程式庫


Step 2:設定 Google Auth Platform(OAuth 同意畫面)

Step 2.1:進入 OAuth 同意畫面設定

進入 OAuth 同意畫面菜單

  1. 進入 「APIs & Services」→「OAuth consent screen」 您會看到:頁面顯示 OAuth consent 設定表單

Step 2.2:完成 App 資訊(Branding)

填入應用程式資訊

  1. 「App information」區塊填入:
  2. 應用程式名稱 (App name):例如 time-compass-desktop
  3. 使用者支援電子郵件 (User support email):您的支援郵箱(例如 skywind5487@gmail.com

您會看到:表單顯示您填入的應用程式名稱和支援郵箱

  1. 「App Logo」(選用)上傳 logo(若無可略過)

  2. 滾動至 「Developer contact information」,填入您的郵箱 您會看到:表單頂部區塊完成,無紅色警告

  3. 點擊 「下一步」按鈕繼續設定 您會看到:進入 OAuth 同意畫面設定的下一步驟(目標對象)

Step 2.3:選擇 User Type(Audience)

  1. 選擇 OAuth consent screen 類型: 請選擇選項 B:外部 (External)(推薦公開發佈)
  2. 應用可給任何 Google 帳號使用

選擇目標對象 - 外部

  1. 點擊 「下一步」按鈕 您會看到:頁面前進至下一個設定區塊

Step 2.3a:填入開發者聯絡資訊

  1. 「聯絡資訊」(Contact Information) 區塊填入:
  2. 電子郵件地址 (Email address):您的開發者郵箱(例如 skywind5487@gmail.com

填入開發者聯絡電子郵件

您會看到:聯絡電子郵件已填入,Google 會通過此電子郵件通知應用異動資訊

  1. 點擊 「下一步」按鈕 您會看到:進入下一個設定區塊

Step 2.3b:同意服務條款並完成設定

  1. 勾選 「我同意《Google API 服務:使用者資料政策》」

完成 OAuth 同意畫面設定 - 同意並繼續

您會看到:複選框被勾選

  1. 點擊 「繼續」按鈕 您會看到:OAuth 同意畫面設定完成,頁面返回 APIs & Services 首頁

OAuth 同意畫面設定完成 - 建立 Client 按鈕

Step 2.4:加入 Test Users

  1. 往下滑動 到「測試使用者」(Test Users) 區塊

OAuth 目標對象設定 - 選擇測試使用者

您會看到:看到「測試使用者」區塊,其中有「+ Add users」按鈕

  1. 點擊 「+ Add users」按鈕 您會看到:彈出對話框,要求輸入電子郵件地址

  2. 輸入 您的 Google 帳號郵箱(例如 skywind5487@gmail.com) 您會看到:郵箱被加入 Test Users 清單

新增測試使用者後點擊儲存

補充:輸入完成後請點擊左下角「儲存」,再按左上角「X」關閉視窗。


Step 3:建立 OAuth Client(Web application)

Step 3.1:進入 Credentials 設定

  1. 進入 「APIs & Services」→「Credentials」 您會看到:Credentials 頁面開啟,可見「CREATE CREDENTIALS」按鈕

進入 OAuth 用戶端並點擊建立用戶端

補充:若介面顯示為「Google Auth Platform」,請先點左側「用戶端」,再點上方「+ 建立用戶端」。

Step 3.2:建立 OAuth Client

  1. 確認 OAuth 同意畫面設定已完成 您會看到:頁面顯示所有設定步驟已完成(應用程式資訊 ✓、目標對象 ✓、聯絡資訊 ✓、完成 ✓)

  2. 點擊 「建立」按鈕 您會看到:進入建立 OAuth Client 的選項選擇

Step 3.3:選擇 Application Type

  1. 「Application type」區塊選擇 「Web application(網頁應用程式)」 您會看到:表單展開,顯示「Name」與 redirect URI 相關欄位

選擇 Web application 類型

補充:先選擇「網頁應用程式」,再填入易辨識的名稱(例如 time_compass_local)。

填入名稱後往下滑可看到 URI 區塊

補充:名稱填好後請往下滑,會看到「已授權的 JavaScript 來源」與「已授權的重新導向 URI」兩個區塊。

Step 3.4:設定 Authorized Redirect URIs

  1. 「Authorized JavaScript origins」加入:

    http://127.0.0.1:8788
    http://localhost:8788
    http://127.0.0.1:8000
    http://localhost:8000
    
    您會看到:四個 Origin 都被加入清單

  2. 「Authorized redirect URIs」加入:

    http://127.0.0.1:8788/auth
    http://localhost:8788/auth
    http://127.0.0.1:8000/auth
    http://localhost:8000/auth
    
    您會看到:四個 callback URI 都被加入清單

填入 8788 與 8000 的 redirect URI 後建立

補充: - 8788:MCP 與後端 OAuth runtime 使用 - 8000:Gradio 介面使用

[!IMPORTANT] 本專案 runtime callback 路徑是 /auth。若 URI 不含 /auth,會出現 redirect_uri_mismatch

  1. 點擊 「CREATE」建立 OAuth Client 您會看到:建立成功,頁面顯示 CLIENT IDCLIENT SECRET

Step 3.5:複製憑證(建議下載 JSON 備份)

  1. OAuth Client 詳細頁面或彈窗中:
  2. 複製 CLIENT ID
  3. 複製 CLIENT SECRET

複製憑證並下載 JSON 備份

補充:請複製 CLIENT IDCLIENT SECRET(建議直接跳到下一步填入 .env),並點擊「下載 JSON」做備份。

備選操作:從下載清單開啟 JSON 檔

在 JSON 中找到 client_id 並向右捲動查看完整值

補充:開啟 JSON 後可先找 client_id 欄位;若內容過長顯示不完整,請向右捲動確認完整字串。

在 JSON 中找到 client_secret

補充:同一份 JSON 也可找到 client_secret;此值屬於敏感資訊,請勿外流。

  1. 暫存 這兩個值(下步驟會填入 .env) 您會看到:您的剪貼簿中已複製 Client ID 和 Secret

[!IMPORTANT] 安全提醒 - CLIENT SECRET 是敏感資訊,不要分享給他人或上傳到版本控制 - 若不慎洩露,請立即在 Google Cloud Console 重新刪除並建立此 OAuth Client


Step 4:配置環境變數

現在您已取得所有必要的憑證,接下來將它們填入 .env 檔案。

Step 4.1:開啟 .env 檔案

  1. 進入 專案根目錄

    cd time_compass  # 或您的專案目錄路徑
    
    您會看到:終端機顯示當前目錄

  2. 開啟 .env 檔案(用任意文本編輯器,例如 VSCode、Notepad++) 您會看到:.env 檔案在編輯器中開啟

Step 4.2:填入 Google OAuth 憑證

  1. 找到新增以下行:

    GOOGLE_CLIENT_ID=你在Step_3複製的_client_id
    GOOGLE_CLIENT_SECRET=你在Step_3複製的_client_secret
    

  2. 你在Step_3複製的_client_id 替換為實際的 Client ID 您會看到:該行顯示您的 Client ID

  3. 你在Step_3複製的_client_secret 替換為實際的 Client Secret 您會看到:該行顯示您的 Client Secret

Step 4.3:儲存 .env

  1. 按下 Ctrl+S(Windows / Linux)或 Cmd+S(macOS) 您會看到:編輯器標題列不再顯示「*」或「改變」標記,表示檔案已儲存

完成後檢查清單

本步驟完成後,請確認:

  • [ ] Google Cloud Project 已建立(Project ID 已記錄)
  • [ ] 三個 API 都已啟用:Google Tasks、Google Calendar、Gmail
  • [ ] OAuth 同意畫面已完成設定
  • [ ] OAuth Client(Web application)已建立
  • [ ] .env 檔案中有以下兩個環境變數(且值不為空):
  • [ ] GOOGLE_CLIENT_ID
  • [ ] GOOGLE_CLIENT_SECRET
  • [ ] 您未將 .env 或憑證洩露給他人

下一步

前往 OAuth 驗證流程,測試您的 OAuth 設定是否正確,並了解如何初始化授權流程。


官方文檔參考

若您遇到問題或需要更深入的理解,以下官方文檔提供完整資訊:

  • OAuth 同意畫面設定 https://developers.google.com/workspace/guides/configure-oauth-consent

  • Web Server OAuth 2.0(Web application) https://developers.google.com/identity/protocols/oauth2/web-server

  • Google Calendar API Auth https://developers.google.com/workspace/calendar/api/auth

  • Google Tasks API Auth https://developers.google.com/tasks/auth

  • Gmail API Auth https://developers.google.com/gmail/api/auth