API的调用是通过授权给应用的方式进行,授权是指授予某个应用调用某个API的权限,应用在获得API的授权之后才能调用API。在创建API的时候,可以选择无认证方式开放API和APP认证方式开放API,两种调用方法如下。
Header参数项 |
是否必填项 |
注解 |
X-Apig-Key |
是 |
API授权的应用的APPkey值 |
X-Apig-Stage |
是 |
API授权的环境 |
X-Apig-Mode |
否 |
如果是API调试,参数填写debug,如果是API调用,该字段不填 |
APP认证调用API步骤1:打开postman,输入API的调用地址+请求path,
Header参数项 |
是否必填项 |
注解 |
X-Apig-Key |
是 |
API授权的应用的APPkey值 |
X-Apig-Stage |
是 |
API授权的环境 |
X-Apig-Mode |
否 |
如果是API调试,参数值为debug,如果是API调用,该字段不填 |
X-Apig-Signature-Headers |
是 |
所有参与签名算法的参数名称的集合,使用英文逗号分隔,由用户指定,可以为空 |
X-Apig-Signature-Method |
是 |
APP认证使用的加密算法,取值为HmacSHA256或者HmacSHA1 |
Content-MD5 |
否 |
如果API为post和put请求,且有body参数,该字段为必填项,是该body的md5值 |
X-Apig-Signature |
是 |
通过APP认证算法加密后的字段 |
如果API为post或者body请求,且存在body参数,Content-MD5字段必须传入,字段值为body的md5加密后的值。
Jar包引入方式:
SDK jar包:APIG-SIGN-SDK.zip
<dependency>
<groupId>com.chinamobile.apig</groupId>
<artifactId>apig-sign-sdk</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>path/apig-sign-sdk-0.0.1.jar</systemPath>
</dependency>
API调用请求头X-Apig-Signature计算方法如下:
com.chinamobile.cmss.sign. SignHelper.sign
public static String sign(String secret,String method,String path,Map<String, String> headers,Map<String, String> queries,String body)
参数名称 |
说明 |
secret |
APP密钥 |
method |
http请求方法(可选值GET,PUT, POST, DELETE) |
path |
请求路径(url去除http://ip:port/**/openapi后的部分) |
headers |
请求头, 参考调用请求Headers参数 |
queries |
请求参数 |
body |
请求体 |
API调用请求头Content-MD5计算方法如下:
public static String buildBodyMd5(String httpMethod, String body)
参数名称 |
说明 |
httpMethod |
http请求方法(GET, PUT, POST, DELETE) |
body |
请求体 |