首次接口调用
首次接口调用
在服务端连续调用三个接口:管理员令牌、分页设备详情、直播地址。不要把 AppSecret 或 accessToken 放进浏览器或应用安装包。
准备 AppId、AppSecret 和 DataCenter
- 从 创建应用 复制
AppId和AppSecret。 - 在 控制台 · 我的信息 读取数据中心编号。
- 主机为
https://openapi-[DataCenter].easy4ip.com,把[DataCenter]换成该编号。
组装请求体与签名
每次调用都用同一套 JSON 请求体:id、system、params。system 字段见 开发规范:
| 字段 | 规范要求 |
|---|---|
system.ver | 当前为 1.0 |
system.appId | 你的 AppId |
system.time | UTC unix 时间,单位秒;与平台时差不能超过 5 分钟 |
system.nonce | 32 位随机数;5 分钟内重复会返回 SN1005 |
system.sign | 见下一段 |
id | 每次请求唯一且非空 |
签名源串(UTF-8,顺序固定):time:{time},nonce:{nonce},appSecret:{appSecret}。密钥:appSecret 的 SHA-256 再转小写十六进制。然后 sign = Base64(HMAC-SHA256(源串, 密钥))。完整步骤和示例见 开发规范 第 4 节。每次现算 sign,不要抄示例值。
调用 accessToken
POST https://openapi-[DataCenter].easy4ip.com/openapi/accessToken
params 可以是空 Map。方法页:accessToken。
管理员 accessToken 有效期 3 天。临近过期或接口返回 TK1002 时再取。每个 token 独立计时,不要每次请求都新取。
token 只放在服务端。它不是播放器凭证。
调用 device.detail.page
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.detail.page
把管理员 token 放进 params.token。page ≥ 1,pageSize 在 1–50。方法页:分页设备详情。
在 result.data 里确认已绑定摄像机。子账号调用还要带 openid。该方法不在 device.capability.list 里。
创建或读取直播地址
按你实际使用的播放器选择。模块索引:设备直播。
- HLS:bindDeviceLive。
streamId0是高清,1是标清。把 URL 当密钥。 - RTMP:createDeviceRtmpLive。
- ImouPlayer:在服务端换
kitToken(实时预览type为1)。见 轻应用首次预览。
地址会过期。查询和删除仍在同一直播模块。
核对 result.code 并留下请求证据
成功是 result.code 为 "0"。其它码见 返回码。日限额见 接口调用限制。
失败时保留 id、system.time、system.nonce、方法 URL 以及 result.code / result.msg。不要在公开工单里记录 appSecret 或直播 URL。
