queryCloudRecords(正序分页查询云录像片段)
queryCloudRecords:正序分页查询云录像片段
功能说明
查询指定时间段内设备/通道的云录像片段,按时间正序返回 queryRange 指定范围内的录像列表。
请求地址
https://openapi-[DataCenter].easy4ip.com/openapi/queryCloudRecords
请求格式
子账号 token 最低权限
"Permission":"RecordReplay" "Resource":"cam:serial number:channel number"
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法取值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员或子账号 accessToken | ||
| deviceId | String | 是 | 设备序列号 | ||
| channelId | String | 是 | 通道号 | ||
| beginTime | String | 是 | 开始时间,yyyy-MM-dd HH:mm:ss | ||
| endTime | String | 是 | 结束时间,yyyy-MM-dd HH:mm:ss | ||
| queryRange | String | 否 | 如 1-100 | 闭区间 start-end,差值 ≤99(最多 100 条)。与 count 二选一;queryRange 与 count 至少填一项。 | |
| count | Long | 否 | 1–100 | 返回条数;与 queryRange 二选一。 | |
| cloudType | String | 否 | video | video:视频录像;snapshot:抓图录像 | 查询的录像类型,默认为 video |
查询策略
云录像按开始、结束时间升序排序,每次返回前
queryRange(N 值)条录像。下一页可将上一批录像中最大的
endTime作为新的beginTime继续向后查询。示例:遍历查询 2021-12-01 10:00:00 至 11:00:00 的录像。
步骤 1:
beginTime = 2021-12-01 10:00:00,endTime = 2021-12-01 11:00:00,queryRange = 1-100,调用本接口,平台返回 100 条录像。步骤 2:取本批录像最大
endTime(如 2021-12-01 10:30:00)作为下次查询的beginTime,再次调用并循环。步骤 3:当本批最大
endTime大于等于查询结束时间,或返回条数小于queryRange的 N 值时,可认为遍历完成。
请求示例
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_12345678901234567890123456789012",
"deviceId":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:00:00",
"endTime":"2020-05-19 23:59:59",
"queryRange":"1-100"
}
}
返回 data 字段
| 字段名 | 字段类型 | 字段说明 |
|---|---|---|
| records.recordId | String | 录像 ID |
| records.deviceId | String | 设备序列号 |
| records.channelId | String | 通道号 |
| records.beginTime | String | 开始时间 |
| records.endTime | String | 结束时间 |
| records.size | String | 云录像大小(单位:Byte) |
| records.thumbUrl | String | 缩略图 URL |
| records.encryptMode | Integer | 加密模式(0:默认加密;1:用户加密) |
| records.recordRegionId | String | 录像分区 ID |
| records.type | String | 录像类型:1000 事件云录像,2000 连续云录像,10001 人形检测云录像 |
响应示例
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result":{
"data":{
"records":[
{
"recordId":"1234567890",
"deviceId":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:30:59",
"endTime":"2020-05-19 00:31:36",
"size":"123456",
"thumbUrl":"http://lechangecloud/20160519",
"encryptMode":0,
"recordRegionId":"xxxxxxxxx",
"type":"2000"
}]
},
"code":"0",
"msg":"操作成功."
}
}
错误码
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名校验异常 | 按 HTTP 开发规范 核对 sign |
TK1002 | token 无效或过期 | 重新获取 accessToken |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1009 | 权限不足 | 核对 token 与设备绑定/分享权限 |
OP1013 | 接口总次数超限 | 降低调用频率 |
OP1014 | 接口日限额超限 | 见 接口调用限额 |
DV1007 | 设备离线 | 等设备上线 |
更多见 错误码 · OP/SN/TK。
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001–SUB1002 | 子账号无接口权限 | 在 addPolicy 中补策略 |
SUB1005 | 子账号 token 过期 | 重新 subAccountToken |
SUB1006 | 子账号与设备无授权 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定应用 | 先创建并绑定子账号 |
更多见 错误码 · SUB。
设备访问与通道(DV10xx)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1007 | 设备离线或超时 | 等设备上线 |
DV1009 | 设备正忙 | 稍后重试 |
DV1012 | 分享/授权设备权限不足 | 核对子账号 Permission / Resource |
DV1019 | 能力集不支持 | 确认型号与能力列表 |
DV1020 | 通道离线 | 检查通道状态 |
DV1026 | 不支持此功能 | 换接口或升级固件 |
DV1028 | 未绑定或通道不存在 | 核对 deviceId / channelId |
更多见 错误码 · DV。
云存储套餐(ST)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
ST1004 | 云存储未开通 | openCloudRecord |
ST1005 | 云存储已过期 | 续费或换套餐 |
ST1006 | 套餐不存在 | 核对 strategyId |
ST1009 | 仍有未过期收费套餐 | 先处理旧套餐 |
ST1010 | 设备不支持该套餐 | 换支持的套餐 |
更多见 错误码 · ST。
