
# 调用API
API提供者在API网关开放自己的API后，API调用者从API网关中调用API。
#### 调用限制
如果您使用调试域名（创建API分组时系统分配的调试域名）访问API，该调试域名每天最多可以访问1000次。
 #### 获取API的调用信息
在调用API前，您需要向API提供者获取API的调用信息。
- 获取API的请求信息 在API网关控制台选择"开放API \> API管理"，单击API的名称进入"调用信息"页面，可获取API的"域名"、"请求方法"和"请求路径"，以及API的基本信息。
  
- 获取API的认证信息 根据API使用的安全认证方式不同，还要获取相关的请求认证信息：
  
  | 认证方式           | 认证信息                                               |
  |:---|:---|
  | APP认证（签名认证）    | 向API提供者获取该API所授权应用的AppKey和AppSecret，以及认证签名所使用的SDK。 |
  | APP认证（简易认证）    | 向API提供者获取该API所授权应用的AppCode。                        |
  | IAM认证（Token认证） | 获取云服务平台的用户账号密码。                                    |
  | IAM认证（AK/SK认证） | 获取云服务平台的用户账号的AK/SK，以及认证签名所使用的SDK。                  |
  | 自定义认证          | 向API提供者获取请求参数中要携带的自定义认证信息。                         |
  | 无认证            | 无需认证信息。                                            |
     
  - 获取应用的AppKey和AppSecret： 在API网关共享版控制台选择"调用API \> 应用管理"，在应用列表中单击API所授权应用的名称，进入应用详情页面，获取应用的AppKey和AppSecret。
    
  
  - 获取认证签名所使用SDK： 在API网关共享版控制台选择"帮助中心"，在"SDK使用指引"页签中下载对应语言所使用SDK。
    
  
  - 获取AppCode： 在API网关共享版控制台选择"调用API \> 应用管理"，在应用列表中单击API所授权应用的名称，进入应用详情页面，在"AppCodes"页签中获取AppCode。
    
   
 
#### 调用API
![](https://support.huaweicloud.com/usermanual-apig/public_sys-resources/note_3.0-zh-cn.png)
本章节仅提供请求地址和认证参数的配置指导，客户端的其他参数配置需要用户自行调整，如超时配置、SSL配置等。如果客户端参数配置错误会导致业务受损，建议参考业界标准进行配置。
1. 构造API请求，示例如下：
   ```
   POST https://{Address}/{Path}?{Query}
   {Header}
   {
     {Body}
   }
   ```
   - **POST** ：请求方法，需替换为[获取API的调用信息]中获取的请求方法。
   
   - **{Address}** ：请求地址，需替换为[获取API的调用信息]中获取的域名地址。
     
     | API调用场景   | API请求参数配置                               |
     |:---|:---|
     | 使用域名调用API | 使用服务分配的调试域名或服务绑定的域名调用API，无需另外配置。        |
     | 使用IP调用API | 使用IP地址直接调用API，需要在请求消息中添加Header参数"host"。 |
        
     
   
   - **{Path}** ：请求路径，需替换为[获取API的调用信息]中获取的请求路径。
   
   - **{Query}** ：查询参数，可选，格式为"参数名=参数取值"，例如limit=10，多个查询参数之间使用"**\&** "隔开。需根据[获取API的调用信息]中获取的请求参数进行设置。
   
   - **{Header}** ：请求头参数，格式为"参数名: 参数取值"，例如Content-Type: application/json。需根据[获取API的调用信息]中获取的请求参数进行设置。
   
   - **{Body}** ：请求消息体，JSON格式。需根据[获取API的调用信息]中获取的请求体内容描述进行设置。
    

2. 为API请求添加认证信息。
   
   | API认证方式                                                                  | API请求参数配置                                                                                                                                                                                                     |
   |:---|:---|
   | APP认证（签名认证）                                                              | 使用获取的SDK对API请求进行签名，具体请参考[使用APP认证调用API](https://support.huaweicloud.com/devg-apig/apig-dev-180907066.html)。                                                                                                    |
   | APP认证（简易认证）                                                              | 在API请求中添加Header参数"X-Apig-AppCode"，参数值为[获取API的调用信息]中获取到的AppCode。具体请参考[快速入门](https://support.huaweicloud.com/qs-apig/apig-ug-180307002.html)。 |
   | IAM认证（Token认证）                                                           | 先获取云服务平台的认证Token，然后在API请求中添加Header参数"X-Auth-Token"，参数值为认证Token，具体请参考[Token认证](https://support.huaweicloud.com/devg-apig/apig-dev-180307020.html)。                                                             |
   | IAM认证（AK/SK认证）                                                           | 使用获取的SDK对API请求进行签名，具体请参考[AK/SK认证](https://support.huaweicloud.com/devg-apig/apig-dev-180307021.html)。                                                                                                         |
   | 自定义认证  | 根据自定义认证的定义，在API请求参数中携带相关认证信息进行认证。                                                                                                                                                                             |
   | 无认证     | 无需认证，可直接调用API。                                                                                                                                                                                                |
      
   
 
