| 参数名称 | 参数类型 | 说明 |
|---|---|---|
| ContentType | String | 请填写text/plain;charset=UTF-8 |
| accessToken | String | 大多数接口,需要通过验证身份以后才能访问,需要携带该头信息;请从OAuth接口 获取的accessToken,Token有效时间4小时 |
| CommitDate | Long | 当前时间戳的毫秒数。可以参考java的System.currentTimeMillis()方法生成;(如果未携带该头信息,或与服务端的时间差超过 15 分钟,则云端拒绝该请求) |
| signValue | String | 签名校验请求的合法性 |
| 参数名称 | 参数类型 | 说明 |
|---|---|---|
| code | Integer | 业务返回编码:0=成功 |
| message | String | 业务返回消息 |
| requestID | String | 当前业务的提交流水号,便于后期查询定位 |
| timestamp | Long | 当前业务提交的时间戳(毫秒数) |
| token | String | OAuth接口获取的accessToken,有效时间4小时,超时后需要重新申请 |
| codeType | Integer | 业务返回数据编码格式:0=不编码,1=AES,3=Base64 |
| iszip | Integer | 业务发挥的数据压缩标记:0=不压缩,1=zip压缩 |
| data | String | 业务数据 |
第一步,拼装待签名字符串
第二步,计算签名
| 签名内容 | 执行结果 | 示例描述 |
|---|---|---|
| Json信息: { "client_appkey":"2R68Fute8FeeeDeeyy8rF7J", "client_secret":"bfd850c3333c4c62d35ed9496fedef1c" } | Base64结果(没有换行符): eyJjbGllbnRfYXBwa2V5IjoiMlI2OEZ1dGU4Rm VlZURlZXl5OHJGN0oiLCJjbGllbnRfc2VjcmV0 IjoiYmZkODUwYzMzMzNjNGM2MmQzNWVkOTQ5Nm ZlZGVmMWMifQ== | |
| 请求body(没有换行符): eyJjbGllbnRfYXBwa2V5IjoiMlI2OEZ1dGU4Rm VlZURlZXl5OHJGN0oiLCJjbGllbnRfc2VjcmV0 IjoiYmZkODUwYzMzMzNjNGM2MmQzNWVkOTQ5Nm ZlZGVmMWMifQ== | 请求body Md5结果: 26b2b53330461405e46c574c26f366f8 | Base64字符串不能有换行符 |
| 待签名字符串: signValue=HTTPMethod_ContentMd5_CommitDate_accessToken_appSecret =POST_26b2b53330461405e46c574c26f366f8_CommitDate_xxx_zzz | 签名值过程 md5之后结果: a4b6e0831495c1a8a2afa88f47b3d076 | 1、CommitDate请替换成实际的时间戳,如:1581588537349的格式 2、xxx请替换成实际取到的accessToken, 如:63518b8d441a42f3816d877a3c924781@@1726459567923 3、zzz请替换成实际的appSecret,如: rC1r9ueqrePteeeG9Prterrr8ue8AyP9988Fr9J9 |
上述举例的数据是为了验证签名算法,请先按照举例的数据验证 md5 和 base64 算法,看看生成的签名值是否正确,实际请求请按照实际数据签名。