Live/api
(→微博直播OPEN API的限制) |
|||
第1行: | 第1行: | ||
+ | # 直播服务OPEN API V1.0(2016-05-10) | ||
+ | ## 直播接口授权机制 | ||
+ | 目前微博开放平台用户身份鉴权采用的是Oauth2.0,参见[如何登录授权](http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E) | ||
− | + | ## 直播创建接口 | |
− | + | URL : https://api.weibo.com/2/proxy/live/create [POST] | |
− | + | ||
− | + | ||
− | + | 说明:新建直播对象,获取直播推流地址,并同时发微博 | |
− | + | 参数: | |
− | + | ||
− | + | |必选|类型|描述| | |
+ | ----|----|----|----| | ||
+ | access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| | ||
+ | title|true|string|直播描述| | ||
+ | width|true|int|直播宽度| | ||
+ | height|true|int|直播高度| | ||
+ | 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 : | ||
+ | rtmp_url : | ||
+ | } | ||
+ | ``` | ||
+ | ## 直播推流 | ||
+ | 第三方根据直播创建接口返回的推流地址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个汉字| | ||
+ | image|false|string|直播封面图地址| | ||
+ | published|false|string|微博是否发布,0:公开发布,1:仅自己可见,2:不发布,默认为2| | ||
+ | stop|false|string|直播结束,0:直播中,1:直播结束,默认为0| | ||
+ | replay_url|false|string|直播回放地址 | ||
− | + | 返回: | |
− | + | ||
− | + | |类型|说明| | |
+ | ---|---|---| | ||
+ | id|string|直播ID| | ||
+ | |||
+ | 示例: | ||
− | + | ``` | |
+ | { | ||
+ | id : | ||
+ | } | ||
+ | ``` | ||
+ | ## 直播删除接口 | ||
+ | URL : https://api.weibo.com/2/proxy/live/delete [POST] | ||
− | + | 说明:直播对象删除,不可逆 | |
− | + | 参数: | |
− | + | |必选|类型|描述| | |
− | + | ----|----|----|----| | |
+ | access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| | ||
+ | id|true|string|直播ID| | ||
+ | 返回: | ||
− | + | |类型|说明| | |
− | + | ---|---|---| | |
+ | id|string|直播ID| | ||
+ | |||
+ | 示例: | ||
− | + | ``` | |
+ | { | ||
+ | id : | ||
+ | } | ||
+ | ``` | ||
− | + | ## 直播信息接口 | |
+ | 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 : | ||
+ | uid : | ||
+ | title : | ||
+ | url : | ||
+ | summary : | ||
+ | image : | ||
+ | status : | ||
+ | live_views : | ||
+ | total_views : | ||
+ | create_time : | ||
+ | } | ||
+ | ``` | ||
− | + | ## 直播互动接口 | |
+ | ### 上行互动 | ||
+ | URL : https://api.weibo.com/2/proxy/live/chatroom/r_msg [POST] | ||
+ | 说明:直播用户上行评论接口 | ||
− | + | 参数: | |
+ | |必选|类型|描述| | ||
+ | ----|----|----|----| | ||
+ | access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| | ||
+ | id|true|string|直播ID| | ||
+ | type|false|int|评论类型,现在只有文本,默认为0| | ||
+ | content|true|string|评论文本内容| | ||
− | + | 返回: | |
− | + | |类型|说明| | |
− | + | ---|---|---| | |
+ | id|string|直播ID| | ||
+ | delay|uint64|表示当前用户的下一次发言间隔,单位为秒,可以没有 | ||
+ | 示例: | ||
− | { | + | ``` |
+ | { | ||
+ | id : | ||
+ | context : | ||
+ | } | ||
+ | ``` | ||
− | + | ### 下行互动 | |
+ | 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不一致)| | ||
+ | |||
+ | 示例: | ||
+ | |||
+ | ``` | ||
+ | { | ||
+ | request : | ||
+ | error_code : | ||
+ | error : | ||
+ | } | ||
+ | ``` |
2016年5月31日 (二) 18:37的版本
- 直播服务OPEN API V1.0(2016-05-10)
- 直播接口授权机制
目前微博开放平台用户身份鉴权采用的是Oauth2.0,参见[如何登录授权](http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)
- 直播创建接口
URL : https://api.weibo.com/2/proxy/live/create [POST]
说明:新建直播对象,获取直播推流地址,并同时发微博
参数:
|必选|类型|描述|
|----|----|----|
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| title|true|string|直播描述| width|true|int|直播宽度| height|true|int|直播高度| 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 : rtmp_url : } ```
- 直播推流
第三方根据直播创建接口返回的推流地址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个汉字| image|false|string|直播封面图地址| published|false|string|微博是否发布,0:公开发布,1:仅自己可见,2:不发布,默认为2| stop|false|string|直播结束,0:直播中,1:直播结束,默认为0| replay_url|false|string|直播回放地址
返回:
|类型|说明| ---|---|---| id|string|直播ID|
示例:
``` { id : } ```
- 直播删除接口
URL : https://api.weibo.com/2/proxy/live/delete [POST]
说明:直播对象删除,不可逆
参数:
|必选|类型|描述|
|----|----|----|
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| id|true|string|直播ID|
返回:
|类型|说明| ---|---|---| id|string|直播ID|
示例:
``` { id : } ```
- 直播信息接口
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 : uid : title : url : summary : image : status : live_views : total_views : create_time : } ```
- 直播互动接口
- 上行互动
- 直播互动接口
URL : https://api.weibo.com/2/proxy/live/chatroom/r_msg [POST]
说明:直播用户上行评论接口
参数:
|必选|类型|描述|
|----|----|----|
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| id|true|string|直播ID| type|false|int|评论类型,现在只有文本,默认为0| content|true|string|评论文本内容|
返回:
|类型|说明|
---|---|---| id|string|直播ID| delay|uint64|表示当前用户的下一次发言间隔,单位为秒,可以没有
示例:
``` {
id : context :
} ```
- 下行互动
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不一致)|
示例:
``` { request : error_code : error : } ```