直播服务OPEN API
阅读以下文档,帮助了解如何使用微博直播接口。
授权机制
目前微博开放平台用户身份鉴权采用的是Oauth2.0,参见 如何登录授权
访问频次限制
访问级别:普通接口
频次限制:是
关于频次限制,参考接口访问权限说明
创建直播
URL : https://api.weibo.com/2/proxy/live/create [POST]
说明:新建直播对象,获取直播推流地址,并同时发微博
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
title | true | string | 直播描述 |
width | true | string | 直播宽度 |
height | true | string | 直播高度 |
summary | false | string | 微博文本内容,必须做URLencode,内容不超过130个汉字 |
published | false | string | 微博是否发布,0:公开发布,1:仅自己可见,默认为0 |
image | false | string | 封面图地址,注意封面图的宽高和直播的宽高比例要一致。需要上传图片参见本文档上传图片接口 |
replay | false | string | 是否录制,0:不录制,1:录制,默认为1 |
返回:
参数字段 | 字段类型 | 字段说明 |
---|---|---|
id | string | 直播ID |
rtmp_url | string | 直播推流地址 |
示例:
{ "id": "230916c5fc9c48670bf72b9135261865ef35cd", "url": "rtmp://ps.live.weibo.com/***/c5fc9c48670bf72b9135261865ef35cd?auth_key=***" }
直播推流
第三方根据直播创建接口返回的推流地址rtmp_url开始推流
更新直播
URL : https://api.weibo.com/2/proxy/live/update [POST]
说明:直播对象信息、状态等更新
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
id | true | string | 直播ID |
title | false | string | 直播描述 |
summary | false | string | 微博文本内容,必须做URLencode,内容不超过130个汉字 |
published | false | string | 微博是否发布,0:公开发布,1:仅自己可见,2:不发布 默认为2 |
image | false | string | 直播封面图地址 |
stop | false | string | 直播结束,0:直播中,1:直播结束,默认为0 |
replay_url | false | string | 直播回放地址 |
返回:
参数字段 | 字段类型 | 字段说明 |
---|---|---|
id | string | 直播ID |
示例:
{ "id": "230916c5fc9c48670bf72b9135261865ef35cd" }
删除直播
URL : https://api.weibo.com/2/proxy/live/delete [POST]
说明:直播对象删除,不可逆
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
id | true | string | 直播ID |
返回:
参数字段 | 字段类型 | 字段说明 |
---|---|---|
id | string | 直播ID |
示例:
{ "id": "230916c5fc9c48670bf72b9135261865ef35cd" }
获取直播信息
URL : https://api.weibo.com/2/proxy/live/show [POST]
说明:直播对象信息、互动信息等获取
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
id | true | string | 直播ID |
detail | false | string | 直播详情,0:不返回,1:返回,默认为0 |
返回:
参数字段 | 字段类型 | 字段说明 |
---|---|---|
id | string | 直播ID |
uid | string | 直播作者ID |
title | string | 直播标题 |
summary | string | 微博文本内容 |
image | string | 封面图地址 |
url | string | 直播落地页 |
status | int | 直播状态 |
create_time | string | 直播创建时间 |
live_views | int | 直播实时在线人数,detail为1时返回 |
total_views | int | 直播总在线人数,detail为1时返回 |
total_stars | int | 直播总点赞数,detail为1时返回 |
示例:
{ id : 230916c5fc9c48670bf72b9135261865ef35cd uid : 3549297570 title : test url : http://live.weibo.com/show?id=1042097:c5fc9c48670bf72b9135261865ef35cd summary : test image : http://ww2.sinaimg.cn/large/8c447cdejw1f4a0uie0bmj20m80ciwg3.jpg status : 1 live_views : 10 total_views : 100 total_stars : 100 create_time : 2016-06-02 17:10:54 }
上传图片
URL:https://api.weibo.com/statuses/upload_pic.json[POST]
说明:上传图片接口
是否需要登录
true 登录授权方式,请参见本WIKI内的 如何登录授权
请求参数
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
pic | true | binary | 要上传的图片二进制流,仅支持JPEG、GIF、PNG格式,图片大小小于5M。 |
print_mark | false | int | 是否带水印,0:不带,1:带。 |
ori | false | int | 是否支持原图,0:不支持,1:支持。 |
返回结果
//成功返回
{ "pic_id": "946308c5jw1dv288whtylj", "thumbnail_pic": "http://ww3.sinaimg.cn/thumbnail/946308c5jw1dv288whtylj.jpg", "bmiddle_pic": "http://ww3.sinaimg.cn/bmiddle/946308c5jw1dv288whtylj.jpg", "original_pic": "http://ww3.sinaimg.cn/large/946308c5jw1dv288whtylj.jpg" }
//失败返回
{ "request": "/2/statuses/upload_pic.json", "error_code": "201XX", "error": "error message." }
直播互动接口
创建上行互动
URL : https://api.weibo.com/2/proxy/live/chatroom/r_msg [POST]
说明:直播用户上行评论接口
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
id | true | string | 直播ID |
type | true | int | 评论类型,现在只有文本,默认为0 |
content | true | string | 评论文本内容 |
返回:
参数字段 | 字段类型 | 字段说明 |
---|---|---|
id | string | 直播ID |
示例:
{ id : 230916c5fc9c48670bf72b9135261865ef35cd context : test }
获取下行互动
URL : https://api.weibo.com/2/proxy/live/chatroom/r_sync [POST]
说明:直播者获取下行互动接口
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
access_token | true | string | 采用OAuth授权方式为必填参数,OAuth授权后获得 |
id | true | string | 直播ID |
返回示例:
[ [MsgHeader,MsgBody], [NoticesHeader,NoticesBody], ...... ]
MsgHeader = { type: "chatroom", proto: "r_msg", ...... } MsgBody = #r_msg: { "id": "uint64", //下行时为消息的global id "from": "uint64", //下行时为发送者的id "to": "string", //互动id "type": "uint32", "content": "string", "latitude": "string", "longitude": "string", "curr_play": "uint64", //记录直播直播进度,精确到毫秒;-1:未开始;0:直播已结束 "additional_desc": "string", "user":{ "id": "uint64", //uid "name": "string", //昵称 "avatar": "string" //头像信息 } }
NoticesHeader = { type: "chatroom", proto: "r_notices", ...... } NoticesBody = #r_notices: { "id": "string", //房间对应的room id "error_msg": "string", //只有出错的时候才会提供此选项 "notices": [{ //多个通知列表 "type": "uint32", "users":[{ //同一种类型事件通知,可以为空,可以是单个用户,或多个用户等。 "id": "uint64", "name": "string", "avatar": "string" }], "value": "uint32", //其值类型由type确定,可以为空 "time": "uint64" }] } 注: type(通知类型): 4:点赞数量,users为空,value为点赞数量,uint32
错误代码
错误码
错误码 | 错误msg | 描述 |
---|---|---|
20001 | live create error | 创建直播失败 |
20002 | update weibo error | 发微博失败 |
20003 | post param loss | post参数缺失 |
20004 | get param loss | get参数缺失 |
20005 | live delete error | 删除直播失败 |
20006 | live update error | 更新直播失败 |
20007 | send message error | 评论失败 |
20008 | rsync message error | 拉取失败 |
20009 | live id unexist | 直播ID不存在 |
20010 | weibo content more than 130 word | 微博文字超过130字了 |
20011 | msg content more than 100 word,or is null | 评论文字超过100字了,或者为空 |
20012 | msg content type error | 发言的文本类型错误 |
20013 | authority not allow | 权限不够(appkey or uid不一致) |
20014 | user not allow | uid不符合要求(用户满足:微博用户已绑定支付宝或黄V认证用户或媒体蓝v用户) |
示例:
{ request : error_code : error : }