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。 |