API提供者在API網關開放自己的API后,API調用者從API網關中調用API。
調用限制
-
如果您使用調試域名(創建API分組時系統分配的調試域名)訪問API,該調試域名每天最多可以訪問1000次。
-
如果在API網關控制臺“API管理 > API策略 > SSL證書管理”界面的“創建SSL證書”窗口中顯示有“CA”參數,那么在調用API時,請注意以下限制。
? 使用HTTP/1.0協議調用API時,不允許請求頭中存在"Transfer-Encoding"參數。
? 不允許使用CONNECT請求方法。
? 不允許請求頭中同時存在參數"Content-Length"和"Transfer-Encoding"。
? 不允許請求行中存在空格或控制符。
? 不允許header name中存在空格或控制符。
? 不允許請求頭"Host"中存在空格或控制符。
? 不允許請求頭中存在多個"Host"。
前提條件
在調用API前,確保您的業務系統所在網絡與API的訪問域名或地址互通。
- 如果業務系統與API網關在相同VPC內時,可直接訪問API。
- 如果業務系統與API網關在同一區域的不同VPC內時,可通過創建VPC對等連接,將兩個VPC的網絡打通,實現同一區域跨VPC訪問API。
- 如果業務系統與API網關在不同區域的不同VPC內時,可通過創建云連接實例并加載需要互通的VPC,將兩個VPC的網絡打通,實現跨區域跨VPC訪問API。
- 如果業務系統與API網關通過公網互通,請確保API網關已綁定彈性IP。
獲取API的調用信息
在調用API前,您需要向API提供者獲取API的調用信息。
-
獲取API的請求信息
在API網關控制臺選擇“API管理 > API列表”,在“API列表”頁簽中可獲取API的“域名”、“請求方法”和“請求路徑”。單擊API的名稱進入“API運行”頁面,在“前端配置”或“后端配置”區域獲取API基本信息。 -
獲取API的認證信息
根據API使用的安全認證方式不同,還要獲取相關的請求認證信息:
認證方式 認證信息 APP認證(簽名認證) 向API提供者獲取該API所授權憑據的Key和Secret,以及認證簽名所使用的SDK。 APP認證(簡易認證) 向API提供者獲取該API所授權憑據的AppCode。 APP認證(雙重認證) 同時獲取APP認證以及自定義認證所需的認證信息。 APP認證(app_secret認證) 向API提供者獲取該API所授權憑據的Key和Secret。 APP認證(app_basic認證) 向API提供者獲取該API所授權憑據的Key和Secret。 IAM認證(Token認證) 獲取云服務平臺的用戶賬號密碼。 IAM認證(AK/SK認證) 獲取云服務平臺的用戶賬號的AK/SK,以及認證簽名所使用的SDK。 IAM認證(雙重認證) 同時獲取IAM認證以及自定義認證所需的認證信息。 自定義認證 向API提供者獲取請求參數中要攜帶的自定義認證信息。 無認證 無需認證信息。 第三方認證(API策略) 向API提供者獲取請求參數中要攜帶的第三方認證信息。 ? 獲取憑據的Key和Secret:
在API網關控制臺選擇“API管理 > 憑據管理”,在憑據列表中單擊API所授權憑據的名稱,進入憑據詳情頁面,獲取憑據的Key和Secret。? 獲取認證簽名所使用SDK:
在API網關控制臺選擇“幫助中心”,在“SDK使用指引”頁簽中下載對應語言所使用SDK。
? 獲取AppCode:
在API網關控制臺選擇“API管理 > 憑據管理”,在憑據列表中單擊API所授權憑據的名稱,進入憑據詳情頁面,在“AppCodes”區域中獲取AppCode。
調用API
步驟 1 配置請求地址相關參數。
| API調用場景 | API請求參數配置 |
|---|---|
| 使用域名調用API | 使用服務分配的子域名或服務綁定的域名調用API,無需另外配置。 |
| 使用IP調用DEFAULT分組的API | 專享版API允許使用IP地址調用DEFAULT分組下的API,無需另外配置。 |
步驟 2 配置認證參數。
| API認證方式 | API請求參數配置 |
|---|---|
| APP認證(簽名認證) | 使用獲取的SDK對API請求進行簽名,具體請參考《開發指南》的“使用APP認證調用API”章節。 |
| APP認證(簡易認證) | 在API請求中添加Header參數“X-Apig-AppCode”,參數值為獲取API及文檔中獲取到的AppCode。 |
| IAM認證(Token認證) | 先獲取云服務平臺的認證Token,然后在API請求中攜帶Token進行認證,具體請參考《開發指南》的“Token認證”章節。 |
| IAM認證(AK/SK認證) | 調用API時,使用獲取的SDK對API請求進行簽名,具體請參考《開發指南》的“AK/SK認證”章節。 |
| 自定義認證 | 在API請求參數中攜帶認證信息進行認證。 |
| 無認證 | 無需認證,可直接調用API。 |