API Token
驗證並授權您的 Expedia Group 旅遊平台 API
授權及驗證 (有時簡稱為 AuthN 和 AuthZ) 是有助於保護 API 與資料存取安全的功能。
- 驗證建立 API 客戶端的身分 (確保它是您的客戶端)。
- 授權確保客戶端有權限發出特定的 API 請求。
關於 Token
OAuth2.0 是一種產業授權協定,使用 Token (英數字字串) 來建立驗證與授權的證明依據。Token 包含:
- 傳送請求的 API 客戶端身分。
- 客戶端已被授予的權限 (您指定的使用範圍清單)。
- Token 建立的時間以及使用期限。Expedia Group 旅遊平台發行的 Token 是不透明的,即無法解碼或解密。
驗證:取得 Token
API 客戶端必須在傳送 API 請求之前取得 Token,也就是執行驗證時。Token 是透過使用 HTTP Basic Auth 的特殊 API 端點所提供。您必須提供 API 登入資訊 (客戶端 ID 和密鑰) 作為使用者名稱和密碼。
授權:為每個 API 請求提供一個 Token
單一 Token 可在其使用期限內授權的多個 API 請求。所有 Token 的使用期限皆為 30 分鐘,而您的客戶端軟體必須在目前 Token 到期之前取得新的 Token。
缺少有效 Token 的 API 請求將會失敗,並顯示 HTTP 403 錯誤代碼 (未授權)。當 Token 為以下情況時,就會發生這個錯誤:
- 要求中缺少 Token
- 不是由 Token API 所發行
- 已過期
- 缺少必要的使用範圍
Token API
使用此 API 從客戶端軟體中取得 Token:
curl --location --request POST 'https://api.expediagroup.com/identity/oauth2/v3/token' \
--header 'Authorization: Basic <key>:<secret>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'