上图中,黄色的部分为需要加密的数据,如果选择不加密,则步骤可以省略。
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 | 参数异常 |