一、平台概述

为了让更多精彩的直播内容呈现给观众,我们提供一套API服务,可以让第三方设备和平台(无人机、摄像机、手机、云平台)获取快手推流地址后直接开播到快手,快手主APP的观众就会看到直播内容。

同时,我们还提供直播管理功能,用户开播后,可以用快手APP扫码登录云直播工作室管理流信息,包括:直播预览、修改标题、替换封面、查看推流质量、查看播放统计数据、直播实时拆条、生成直播回看和二次创作等功能。欢迎引导用户使用云直播工作室。

二、对接流程概述

  1. 入住快手开放平台

  2. 注册应用

  3. 接入快手授权和鉴权服务

  4. 调用直播相关接口

三、平台入驻

快手开放平台目前处在内测阶段,仅支持企业开发者注册,申请成为开发者需要联系合作接口人。需要提交的材料参照快手开放平台申请材料

联系人:马英武

邮箱:mayingwu@kuaishou.com

四、注册应用

当成为合法的开发者之后就可以创建自己的 app了。开放平台支持的应用类型有三种:客户端应用、H5应用和WEB应用。需根据不同的使用场景或者期望效果来注册相应的类型,并提供对应的注册信息给你的联系人。具体参照文档快手开放平台申请材料

注册信息审核通过后会给用户生成应用的 appId 和 appSecret 作为身份认证信息,该信息会作为授权服务接口调用的凭证。请妥善保管,切勿泄露。

五、接入快手授权和鉴权服务

快手开放平台是基于 OAuth2.0 协议 的开放授权和鉴权服务,目前提供移动端SDK授权和授权码授权两种方式。

在快手用户授权登录已接入快手OAuth2.0的第三方应用或网站后,第三方可以获取到用户的接口调用凭证(access_token),通过该凭证可以实现获取快手用户基本开放信息和其他已授权的相关信息等。

授权详细接入文档请 点击这里查看

六、直播相关接口

开播之前,请确保用户的快手账号已开通直播权限。调用获取推流地址接口获取推流地址,用户推流后,系统探测到流会自动执行快手开播。用户结束直播,请调用结束直播接口关闭快手直播间。如果断流时间达到1~2分钟,快手后台会自动关闭直播间。 如果需要重新开播请重新调用获取推流地址接口。

用户在快手开播后,可以用快手APP扫码登录云直播工作室管理流信息,包括直播预览、修改标题、替换封面、查看推流质量、查看播放统计数据、直播实时拆条、生成直播回看和二次创作等功能。欢迎引导用户使用快手云直播工作室。

6.1 获取推流地址接口

接口 https://open.kuaishou.com/openapi/kwaiUser/live/pushUrls
请求方式 POST

说明:推流地址只能开播一次,直播结束后失效,推流地址有效期 2 天

请求参数

参数 类型 含义 必填
app_id string 快手注册的app_id
access_token string 第三方业务server维护的access_token
bizId string 子业务,联系快手方获取
file multipartFile 直播封面,不超过2M,只能上传jpg格式,推荐尺寸720x1280,封面文件命名要以.jpg结尾(例子 cover.jpg)
caption string 直播标题,长度不超过13个汉字,默认""
panoramic int 默认 0,非全景直播 0、180 全景直播 1、360 全景直播 2
shopLive boolean 是否为电商(小黄车)直播,默认 false
deviceName string 设备名称,用于数据聚合分析
//返回值示例(成功)
{
  "result": 0,
  "content": {
    "pushUrl": "rtmp://txyun-push.voip.yximgs.com/gifshow/bYowzZxAOZA?sign=5ec76836-4fe4a1832d999f2928188f47bfca5135",
    "liveStreamName": "bYowzZxAOZA"
  },
  "hostName": "bjfk-rs12223.yz02"
}
//返回值示例(异常)
{
    "result": 400001,
    "content": null,
    "hostName": "bjfk-rs12223.yz02"
}

6.2. 结束直播接口

接口 https://open.kuaishou.com/openapi/kwaiUser/live/stopPush
请求方式 POST

请求参数

参数 类型 含义 必填
app_id string 快手注册的app_id
access_token string 第三方业务server维护的access_token
bizId string 子业务。联系快手方获取
liveStreamName string 直播流名
//返回值示例(成功)
{
    "result": 0,
    "hostName": "bjfk-rs12223.yz02"
}
//返回值示例(异常)
{
    "result": 400001,
    "content": null,
    "hostName": "bjfk-rs12223.yz02"
}

注意:如果断流时间超过一定范围,快手后台会自动关闭直播间。 这个时间范围通常是1~2分钟

6.3. 获取直播状态信息

接口 https://open.kuaishou.com/openapi/kwaiUser/live/status/{streamName}
请求方式 GET

请求参数

参数 类型 含义 必填
app_id string 快手注册的app_id
access_token string 第三方业务server维护的access_token
//返回值示例(成功)
{
    "result": 0,
    "content": {
        "“liveStreamName”": "bYowzZxAOZA",
        "status": "", //枚举状态,直播中 LIVING、未开播 LIVE_NOT_START、已关播 LIVE_END
        "statusMsg": "" //状态原因说明
    },
    "hostName": "bjfk-rs12223.yz02"
}
//返回值示例(异常)
{
    "result": 400001,
    "content": null,
    "hostName": "bjfk-rs12223.yz02"
}

6.4 result 状态码

状态码 说明
0 成功
200100 app_id错误
200102 授权失败
400001 参数错误
400002 api限速
400003 server错误
400005 流名不存在
400006 没有直播权限
400008 无电商直播权限
400009 非法流名
400013 越权访问直播
400014 非法的封面文件

七、其他接口

  1. 获取用户资料信息接口