第二階段開始,今天先認識台灣交通部主導的 TDX 運輸資料流通服務平台(Transport Data eXchange) ,它是我們整個專案最重要的資料來源。
TDX 整合了台灣各縣市公車、台鐵、高鐵、捷運等運輸業者的資料,提供標準化的 API,讓開發者可以查詢即時到站時間、路線資訊、車輛位置等。
對做交通類應用的開發者來說,它是最重要的基礎建設之一。
Client ID 與 Client Secret。回到 syncetalite-pwa/ 專案,在根目錄建立 .env 檔案(記得加進 .gitignore,絕對不要把金鑰上傳到 GitHub):
VITE_TDX_CLIENT_ID=你的ClientID
VITE_TDX_CLIENT_SECRET=你的ClientSecret
Vite 會自動讀取以 VITE_ 開頭的環境變數,之後我們在程式碼中可以用 import.meta.env.VITE_TDX_CLIENT_ID 取用。
TDX 的公車即時到站資料,主要透過類似這樣的端點取得:
GET https://tdx.transportdata.tw/api/basic/v2/Bus/EstimatedTimeOfArrival/City/{City}/{RouteName}
其中 {City} 是縣市代碼(例如 Taipei),{RouteName} 是路線名稱。回傳的資料會包含每個站點的預估到站時間(單位:秒)。
今天先把帳號申請好、環境變數設定好,明天我們就要在 src/api/tdx.js 寫下第一支真正呼叫 TDX API 的程式碼。