上图中,黄色的部分为需要加密的数据,如果选择不加密,则步骤可以省略。
HTTP POST
request中只有一个入参key=data,示例如下:
"data": "{\"sign\":\"3AE1EA803199E3273B34244F94555B76\",\"sysTime\":\"1479795735910\",\"traceId\":\"a5NaR5wz51k6mrNUCcISWXjqs9HSWDxv\",\"offset\":\"-1\",\"size\":\"3\"}"
request中有两个入参,key=data(数据),key=k(加密后的随机秘钥),示例如下:
"data": "KW75EvX/1tvjUzfHfFAsYKkmLL4xQJuoqPsT6KyQ4S3IJJPuGjxUBIMFYh+oRI0+RnPdgfg07kvlzTAb3fmDsUaF0BitJyiAt0m6SFrbg8X9Z0R5UbBI0Y6VNkTovB/tHedTvlKVvtxvO823jsRTPV3vU49gg9fBGwMLeb69MPbJ0t3mO7PkV++mazlnEmY6", // 加密后的参数 "k": "+D4T2AFUrtFMsYjGS04e5gtrQoFNFrPPousdkc8afQg=" //随机密钥
备注:以下字段所有必填
| 参数名 | 示例(string) | 说明 |
|---|---|---|
| size | 100 | 当次请求的数据大小,建议使用该字段来限制每次返回条数,特殊情况可忽略,返回量不能太大 |
| offset | -1 | 偏移量,首次访问是为:-1,后续值为每次请求返回的nextOffset |
| traceId | a5OPxOAuBcIybHSWDxPhpsNUiqsttNAQ | 本次请求的id号,将该id一并带回,方便问题跟踪 |
| sign | 37BC2C64D415127BBEA6ED571648C388 | 参数签名 |
| sysTime | 1482405340376 | 请求的时间戳 |
备注:以下字段所有必填
| 参数名 | 示例(string) | 说明 |
|---|---|---|
| code | 200 | 返回错误码,每次返回必须填写, 如果没有数据了请返回404 ,其他枚举值详见:7、code错误码约定 |
| msg | OK | 成功 |
| traceId | a5OPxOAuBcIybHSWDxPhpsNUiqsttNAQ | 本次请求的id号,将该id一并带回,方便问题跟踪 |
| jsonModel | [{\“id":\”id_test\“,\”title\“:\”title_1\"}] | 数据部分 |
| sign | 37BC2C64D415127BBEA6ED571648C388 | 数据签名 |
| nextOffset | -1 | 下一个偏移量, 每次返回必须带,即使本次拉取数据结束(即code=404) ,具体内容由开发者自己来维护,YunOS下次请求是会携带该值作为请求参数key=offset的值来增量拉取 |
{
"code": 200,
"traceId": "a5LitlBGeoMAcIyPBQBQBwOg51k6GSiq", //请求的traceId带回
"msg": "success",
"jsonModel": "[{\"id\":\"id_test\",\"title\":\"title_1\"}]", //数据部分
"sign": "D5033494985DA52F59AE8438510E80FB",//md5(jsonModel)
"nextOffset": "0" //下一个偏移量
}
[{
"feedback": 51376562122,
"comment_count": 1625,
"murl": "http://toutiao.com/group/51376562122/",
"like_count": 33629,
"labels": "段子"
},
{
"feedback": 51394517874,
"comment_count": 150,
"murl": "http://toutiao.com/group/51394517874/",
"like_count": 8396,
"labels": "段子"
}]
代码提取地址:http://yunpan.taobao.com/s/71sepP5fL7 (提取码:HjGW3M)
| 类文件名 | 说明 |
|---|---|
| DataPullSdkServlet.java | 实现基类 |
| DataPullAesServlet.java | 加密模式代码示例 |
| DataPullSignServlet.java | 签名模式代码示例 |
| PullDataAesTest.java | 加密模式,模拟测试代码 |
| PullDataSignTest.java | 签名模式,模拟测试代码 |
| 错误码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 参数异常 |
| 403 | 签名验证失败 |
| 404 | 没有数据,数据拉取结束符 |
| 500 | 参数异常 |