全部產品
Search
文件中心

API Gateway:用戶端調用API樣本

更新時間:Jul 13, 2024

您可以通過 API Gateway,調用由其他阿里雲使用者或者第三方服務商開放的 API 服務。API Gateway將為您提供一系列管理服務與支撐。

調用API

您可以直接用API Gateway控制台為您提供的多語言SDK來調用API(SDK和文檔下載),也可以自行編寫HTTP(s)請求調用API。

API調用說明及樣本如下:

1.請求

請求地址組成:網域名稱+path

網域名稱您需要從分組上綁定的網域名稱(如果還未綁定網域名稱,可以使用分組上的次層網域)

http://e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com/demo/post

要求方法:

POST

請求體:

FormParam1=FormParamValue1&FormParam2=FormParamValue2   # HTTP Request Body

要求標頭部:

Host: e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com
Date: Mon, 22 Aug 2016 11:21:04 GMT
User-Agent: Apache-HttpClient/4.1.2 (java 1.6)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
# 請求體類型,請根據實際請求體內容設定。

Accept: application/json 
# 請求響應體類型,部分 API 可以根據指定的響應類型來返回對應資料格式,建議手動指定此要求標頭,如果不設定,部分 HTTP 用戶端會設定預設值 */*,導致簽名錯誤。

X-Ca-Request-Mode: debug 
# 是否開啟 Debug 模式,大小寫不敏感,不設定預設關閉,一般 API 調試階段可以開啟此設定。

X-Ca-Version: 1  
# API 版本號碼,目前所有 API 僅支援版本號碼『1』,可以不設定此要求標頭,預設版本號碼為『1』。

X-Ca-Signature-Headers: X-Ca-Request-Mode,X-Ca-Version,X-Ca-Stage,X-Ca-Key,X-Ca-Timestamp 
# 參與簽名的自訂要求標頭,服務端將根據此配置讀取要求標頭進行簽名,此處設定不包含 Content-Type、Accept、Content-MD5、Date 要求標頭,這些要求標頭已經包含在了基礎的簽名結構中,詳情參照請求籤名說明文檔。

X-Ca-Stage: RELEASE  
# 請求 API 的 Stage,目前支援 TEST、PRE、RELEASE 三個 Stage,大小寫不敏感,API 提供者可以選擇發布到哪個 Stage,只有發布到指定 Stage 後 API 才可以調用,否則會提示 API 找不到或 Invalid Url。

X-Ca-Key: 60022326  
# 請求的 AppKey,請到 API Gateway控制台產生,只有獲得 API 授權後才可以調用,通過雲市場等渠道購買的 API 預設已經給 APP 授過權,阿里雲所有雲產品共用一套 AppKey 體系,刪除 ApppKey 請謹慎,避免影響到其他已經開通服務的雲產品。

X-Ca-Timestamp: 1471864864235 
# 請求的時間戳記,值為目前時間的毫秒數,也就是從1970年1月1日起至今的時間轉換為毫秒,時間戳記有效時間為15分鐘。

X-Ca-Nonce:b931bc77-645a-4299-b24b-f3669be577ac  
# 請求唯一標識,15分鐘內 AppKey+API+Nonce 不能重複,與時間戳記結合使用才能起到防重放作用。

X-Ca-Signature: FJleSrCYPGCU7dMlLTG+UD3Bc5Elh3TV3CWHtSKh1Ys= 
# 請求籤名。

CustomHeader: CustomHeaderValue  
# 自訂要求標頭,此處僅作為樣本,實際請求中根據 API 定義可以設定多個自訂要求標頭。

2.響應

狀態代碼:

400  
# 響應狀態代碼,大於等於200小於300表示成功;大於等於400小於500為用戶端錯誤;大於500為服務端錯誤。

回應標頭:

X-Ca-Request-Id: 7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF 
# 請求唯一 ID,請求一旦進入 API Gateway應用後,API Gateway就會產生請求 ID 並通過回應標頭返回給用戶端,建議用戶端與後端服務都記錄此請求 ID,可用於問題排查與跟蹤。

X-Ca-Error-Message: Invalid Url  
# API Gateway返回的錯誤訊息,當請求出現錯誤時 API Gateway會通過回應標頭將錯誤訊息返回給客戶。

X-Ca-Debug-Info: {"ServiceLatency":0,"TotalLatency":2}  
# 當開啟 Debug 模式後會返回 Debug 資訊,此資訊後期可能會有變更,僅用做聯調階段參考
                        

您調用API時,無論使用HTTP還是HTTPS協議提交請求,都需要在請求中包含簽名資訊。AppKey用於標識您的身份,AppSecret是用於加密簽名字串和伺服器端驗證簽名字串的密鑰。詳細加密簽名的計算行程方式,請查看文檔使用摘要簽名認證方式調用API

簽名的計算demo請參照API Gateway控制台SDK下載頁面的SDK樣本。

若需要瞭解更多詳情,請您查看概述