向日葵开放API(私有化)
  1. 开发者必读
向日葵开放API(私有化)
  • 📃 简介
  • 🌐 管理平台API
    • 开发者必读
      • 如何调用管理平台API
    • 用户身份授权API
      • 身份授权
      • 续租授权
    • 核心服务API
      • 设备信息管理
        • 创建/取消主机授权
        • 获取主机列表
        • 获取单个主机基本信息
        • 修改主机
        • 删除主机
        • 查询主机状态
      • 审计日志查询
        • 查询远程日志列表
        • 查询被控端(上下线)日志列表
        • 查询被控日志
        • 查询文件传输日志
        • 查询操作日志
      • 资产信息查询
        • 查询IT资产列表
        • 根据资产ID查询是否有变更数据
        • 查询IT资产变更历史
      • 设备分组管理
        • 查询主机关联的分组
        • 创建主机与分组的关联
        • 创建分组
        • 删除主机与分组的关联
        • 修改分组
        • 删除分组
        • 查询分组的列表
      • 企业子账号管理
        • 修改子账号信息
        • 创建企业子账号
        • 删除企业子账号
        • 查询子账号列表
        • 获取指定子账号信息
        • 查询账号分组的功能模块列表
        • 修改指定的分组功能模块
        • 获取角色分组列表
        • 新增角色分组
        • 更新角色分组
        • 删除角色分组
        • 获取组织部门列表
        • 创建部门
        • 修改部门
        • 删除部门
        • 获取功能模块列表
        • 修改企业账号密码
      • 远控数据报表
        • 查询企业每日远控请求数-小时粒度
        • 查询企业每日远控请求数-分钟级粒度
        • 查询企业每日远控成功次数-小时粒度
        • 查询企业每日成功远控次数-分钟粒度
        • 查询远控时长排行
        • 查询企业当天每小时远控次数
        • 查询企业每日远控次数
        • 查询设备被控次数排行
  • 💻 客户端本地API
    • 开发者必读
      • 接入指南
    • 服务端API
      • 开发指南
        • 如何调用服务端API
        • 服务端API错误码对照表
      • 获取访问凭证
        • 获取客户端API访问凭证
    • 客户端API
      • 开发指南
        • 如何调用客户端API
        • 客户端API报文加解密流程
        • 客户端API错误码对照表
      • 向日葵企业主控端能力
        • 主控端调起协议
        • 指定设备ID/识别码发起远控
        • 在设备列表中定位指定设备ID并发起远控
        • 检测应用程序是否存活
      • 向日葵企业被控端能力
        • 获取当前设备信息
    • 参考
      • 调用过程及示例代码
  1. 开发者必读

如何调用管理平台API

在调用管理平台API之前,请先阅读以下信息,以便您更好的集成相关接口。

API主机#

由于私有化部署差异,请联系专属客户经理获取适用于您当前私有化环境的API主机地址

基本概念#

访问令牌#

访问令牌 (AccessToken)是直接代表用户请求信息的凭证。访问令牌是一个 JWT格式的字符串,详细信息参见RFC 7519。
其中用户需要关注 Claims 中的 exp(Expires),该字段是一个 UnixTimestamp,其标识了访问令牌的过期时间,请求发起前调用者需要知道 AccessToken 是否过期,若过期了需要进行刷新。
使用过期或无效的访问令牌请求业务接口,将返回未授权或授权无效(HTTP 401)

刷新令牌#

刷新令牌(RefreshToken),一般 AccessToken 的有效时间都较短,AccessToken 过期后调用者可以通过 RefreshToken 进行续约操作,避免需要再次使用用户的实际授权信息或操作(账号密码等)。
刷新令牌一般时效性较长,但它是一次性的,并且与特定的 AccessToken 成对使用。

调用请求#

在需要身份验证的接口中,在 HTTP 验证头中附带 AccessToken,例:

客户端实现#

1.
客户端获取用户身份授权后保存授权数据(AccessToken、RefreshToken)
2.
客户端(调用方)每次发起业务 API 的请求(需要授权的)检查 AccessToken 的过期时间(可以预留一定的时差阈值)
3.
未过期直接发起请求即可,若过期后通过续租授权接口,获取新的授权
4.
续租授权成功返回新的授权后,替换本地保存的授权信息,并使用新的 AccessToken 发起请求
5.
刷新 API 返回 401,表示用户身份授权已失效,需要用户重新进行身份授权(登录)操作

调用示例#

以cURL为例,调用接口的流程示例如下

获取身份授权#

再调用业务之前,您需要先使用账号密码获取身份授权凭证,即AccessToken,用于后续业务接口的鉴权传参。
// 响应结果如下:
HTTP/2 200 
date: Wed, 02 Apr 2025 07:50:09 GMT
content-type: application/json

{
  "access_token": "<accessToken>",
  "refresh_token": "<refreshToken>",
  "refresh_ttl": 2592000
}
在得到accessToken之后,您可以自行按照JWT规范解析该值,拿到Token的过期时间,以便进行必要的缓存管理。

示例接口:获取主机列表#

在确保拿到的AccessToken在有效期内时,按照接口文档所示要求,将其传入Header中的Authorization参数用于鉴权
curl -X GET 'https://<yourApiHost>/remotes?offset=0&limit=10' -H 'Authorization: Bearer <accessToken>'
// 响应结果如下:
HTTP/2 200 
date: Wed, 02 Apr 2025 07:48:02 GMT
content-type: application/json; charset=utf-8
access-control-expose-headers: Content-Range
content-range: row 0-10/2469

[
  {
    "remote_id": 3328,
    "mac": "8C:EC:4B:D2:30:96",
    "owner_id": 1,
    "statuscode": 2707,
    "client": "SLRC_WINDOWS",
    "info": {
      "remote_id": 3328,
      "name": "DESKTOP-5HTLB9D",
      "pc_name": "DESKTOP-5HTLB9D",
      "cpu": "Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz",
      "memory": "12112MB",
      "os_name": "Windows 10 Pro",
      "base_board": "Dell Inc. 0HVPDY",
      "video_controller": "Intel(R) UHD Graphics 630",
      "network_adapter": "Realtek PCIe GbE Family Controller",
      "versioncode": "18234",
      "version": "5.4.3.18234",
      "os": "Windows 10 Pro",
      "contactemail": "SLRC_WINDOWS_ENTERPRISE"
    },
    "state": {
        //...
    },
    "limit_control": "0"
  },
  {
      //...
  }
]
上一页
📃 简介
下一页
身份授权
Built with