This is an auto-generated translation

OAuth 2.0 驗證

若干 Rapid API 採用 OAuth 2.0 驗證流程,而非簽名驗證。

進一步了解簽名驗證

建立授權

OAuth 2.0 驗證需要存取憑證。要取得存取憑證,您需使用您的 API 憑證向 Expedia 閘道發送請求。您的憑證兩部分將被合併、進行 Base64 編碼,並作為Authorization 標頭傳送,其前綴為Basic ,格式如下:e.g. Basic <base64>

範例:將您的憑證以 Base64 格式編碼

var client-id = postman.getEnvironmentVariable("client-id");
var client-secret= postman.getEnvironmentVariable("client-secret");
var base64Hash = CryptoJS.enc.Utf8.parse(client-id + ":" + client-secret);
var base64 = CryptoJS.enc.Base64.stringify(base64Hash);
postman.setEnvironmentVariable("base64",base64);

註: 若您的啟動管理員已提供 Rapid API 金鑰 (api_key) 或共享密鑰 (shared_secret),您可分別在程式碼範例中呼叫client-idclient-secret 時使用這些密鑰。在此用法中,它們是可互換的。

取得不透明存取權杖

在執行 API 請求之前,您需要先取得一個不透明存取權杖 (即不包含任何使用者或資源資訊的權杖)。

樣本請求

POST – https://api.ean.com/identity/oauth2/v3/token 

Header: 
Key: ‘Authorization’ 
Value: ‘Basic {base64}’

範例回應

{ 
    "access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU", 
    "token_type": "bearer", 
    "expires_in": 1800, 
    "scope": "demand-solutions.demand-api-wrappers-playground.all" 
}

使用不透明存取權杖

既然您已擁有access_token,便可使用此憑證向任何支援 OAuth 2.0 的端點發送請求,例如輸入提示、地理資訊及汽車服務等。

GET - https://test.ean.com/v3/regions?include=standard&language=en-US&iata_location_code=SEA

Header: 
Key: 'Authorization' 
Value: 'Bearer {access_token}'
這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!