开始使用
  • English
  • 简体中文
前往官网
开始使用
  • English
  • 简体中文
前往官网
  • 开始使用
  • 核心概念
    • 子账号与授权策略
    • OAuth 2.0 授权
    • token
    • 设备
    • 设备能力模型
    • 云直播(HLS)补充说明
    • 设备消息
    • 媒体安全
    • 术语表
    • 云直播
    • 云存储套餐说明
    • 资源池额度管理
  • 开发指南
  • 设备能力与事件参考
  • API 参考
  • SDK 与工具
  • 方案
  • 平台与支持
本页目录
1. 产品概述
2. 适用场景
3. 计费
3.1 OAuth 用户流量额度(可选)
4. 授权流程
4.1 创建 OAuth 项目并提交审核
4.2 获取授权页与项目密钥
4.3 终端用户授权
4.4 接收授权码并换取 token
4.5 操作已授权设备

OAuth 2.0 授权

OAuth 2.0 授权

Imou 开放平台的 OAuth 2.0 授权,让第三方应用在终端用户确认后,代其访问该用户 Imou Life 账号下的设备。用户在平台授权页登录并同意后,应用可查询与配置设备、接收消息、调用物模型、获取直播流等能力。

1. 产品概述

OAuth 2.0 是一种委托授权机制:设备归属终端用户,第三方应用仅在用户同意后才能访问。用户在 Imou Life 授权页登录并确认后,应用获得可过期、可刷新的 access token。

一次授权涉及四方:

角色在本产品中的含义
终端用户拥有设备的 Imou Life 账号
第三方应用开发者在平台创建的 OAuth 项目;Project Access Key 与 Project Secret Key 为项目凭证
授权服务开放平台提供的授权 H5 页,以及换发 token 的接口
设备服务设备、视频、消息、物模型等 Open API

开发者先在控制台创建 OAuth 项目,取得授权页 URL 与项目密钥。终端用户打开授权页,将其账号下设备授权给该项目。平台将授权码推送到开发者配置的回调 URL。开发者用项目密钥与授权码换取 access token,再调用 OAuth 相关 API 操作已授权设备。

授权有效期:90 天

每位终端用户的授权有效期为 90 天。到期后须重新授权,应用才能继续操作该用户设备。用户可在到期前再次授权以刷新有效期。

授权成功后,可使用的能力包括:

  • 设备信息、在线状态、能力集、改名、升级及升级进度
  • 设备配置
  • 设备消息
  • IoT 物模型
  • 按设备、通道、主/子码流获取 RTSP 直播地址

接口说明见 OAuth 授权 API。调用时使用 OAuth 项目的 Access Key / Secret Key,并携带终端用户的 access token(Ot_ 前缀)。该路径与 子账号与授权策略 并行,不得与管理员或子账号 token 混用。

2. 适用场景

适用于在用户确认授权后,对接终端用户自有 Imou 设备的应用,例如:

  • 物业、社区、养老、保险、零售等平台,将住户或客户的摄像机纳入自有 App 或管理后台。
  • 智能家居、安防平台需要直播、告警消息或物模型,且仅在用户在授权页确认后开通。
  • 具备服务端的应用:Project Secret Key 仅保存在服务端,由服务端接收授权码、换 token 与刷新 token。

每个 OAuth 项目对应一个第三方应用;授权页展示项目名称与 Logo,便于用户识别授权对象。

3. 计费

按已授权的终端用户数计费。每位授权用户每月包含下列免费额度:

项目每月免费额度
API 调用1,000 次
消息推送2,000 条
媒体流量(Media Flow)0.5 GB

超出部分按资源单价从开发者预付费账户扣减。API 调用、消息推送与媒体流量的标准价见官网价格页:https://open.imoulife.com/price。

3.1 OAuth 用户流量额度(可选)

除平台默认的按用户免费 Media Flow 外,可为每位已授权终端用户单独配置自然月流量上限(GB):调用 saveOauthUserQuota 设置、quotaGb 留空表示不限制;调用 queryOauthUserQuota 查询当月可用额度。请求须携带该用户的 OAuth access token(Ot_ 前缀)。概念说明见 资源池额度管理 · OAuth 终端用户流量额度;与子账号/设备通道资源池不是同一套模型。

4. 授权流程

登录 open.imoulife.com,按下列顺序完成对接。

4.1 创建 OAuth 项目并提交审核

使用开发者账号登录控制台,进入 OAuth 菜单,填写第三方应用信息:

  • OAuth 项目 Logo 与名称(均展示在授权 H5 页)。
  • 授权成功通知 URL:用户完成授权后,平台向该地址推送授权码。

提交项目并等待审核。

创建 OAuth 项目:应用信息、项目 Logo、项目名称与授权成功通知 URL

4.2 获取授权页与项目密钥

项目创建后,在控制台获取:

控制台项用途
User Authorization H5 Page授权页 URL,嵌入第三方应用供终端用户打开、登录并授权
Project Access Key、Project Secret KeyOAuth 项目 AK/SK,用户授权后用于调用 API
Callback Url after authorization授权成功通知 URL,用于接收授权码

Project Secret Key 仅保存在开发者服务端。

项目详情:Project Access Key、Project Secret Key 与 User Authorization H5 Page

4.3 终端用户授权

第三方应用打开 User Authorization H5 Page。终端用户登录 Imou Life 账号并确认后,其账号下设备即授权给该 OAuth 项目。

下图为授权页示例:展示 OAuth 项目名称,用户登录并确认授权。

终端用户授权页示例

4.4 接收授权码并换取 token

授权完成后,平台向 Callback Url 推送授权码,体现在回调 URL 的 code 参数中。

回调 URL 中的授权码

服务端使用项目 AK/SK 与授权码调用 oauthTokenV2:

  • 请求 URL:POST /openapi/oauthTokenV2
  • 鉴权:Authorization 头为 Basic,值为 AK:SK 的 Base64 编码
  • 换 token:grant_type=authorization_code,提交授权码,并将 redirect_uri 设为与 OAuth 项目控制台一致的回调 URL

成功响应字段:

字段说明
access_token终端用户 access token,类型为 bearer
expires_in有效期 7200 秒
refresh_tokenaccess token 过期后用于刷新
scope授权范围,当前为 all

4.5 操作已授权设备

取得 access token 后,使用同一项目 AK/SK 调用设备、消息、物模型与拉流等 API。RTSP 地址见 getStreamUrl。Project Access Key 标识 OAuth 项目,access token 标识终端用户。按设备序列号、通道与码流类型返回 RTSP 播放地址:主码流为 0,子码流为 1。

access token 将过期时,通过 oauthTokenV2 刷新:grant_type=refresh_token,提交 refresh_token。成功则返回新 access token,无需用户再次打开授权页。

授权用户的资料变更、删除/修改/停用授权等,不在上述入门流程内,请以当前控制台与 API 文档为准。

子账号与授权策略
token