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)
  
== 微博直播平台接入说明 ==
+
## 直播创建接口
随着信息传播逐渐富媒体化的趋势,以及移动设备和网络环境的升级,移动视频直播越来越被大众熟悉、接受和使用。微博作为中国最大的社会化媒体平台,目前已支持直播内容的展示和播放,为了使第三方视直播内容更好的在微博上播放和传播,同时也肩负起社会化媒体平台的责任,微博将直播API开放给第三方软件开发者以及硬件厂商,共同打造移动视频直播生态。
+
URL : https://api.weibo.com/2/proxy/live/create [POST]
== 微博直播OPEN API功能特点 ==
+
'''1.广泛的直播形式接入'''
+
  
微博直播OPEN API不仅能支持网站、移动APP等软件开发者接入,同时也支持无人机、运动相机等硬件厂商接入,具有广泛的直播形式接入能力。
+
说明:新建直播对象,获取直播推流地址,并同时发微博
  
+
参数:
'''2.丰富的互动形式及回馈'''
+
  
直播内容在微博传播时,微博提供了丰富的互动形式让观看者和直播发布者互动,具体包含弹幕评论、喜欢、礼物打赏,同时直播OPEN API支持将这些互动内容同步回馈给接入的第三方。
+
    |必选|类型|描述|
 +
----|----|----|----|
 +
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|
  
 +
返回:
  
'''3.强大的直播支撑能力'''
+
    |类型|说明|
 +
  ---|---|---|
 +
  id|string|直播ID|
 +
  rtmp_url|string|直播推流地址|
 +
 
 +
示例:
  
微博直播拥有强大的直播支撑能力,可提供流畅的直播播放体验及较小的直播延迟时间,可支持千万级的同时在线,每秒百万级的互动信息下发。
+
```
 +
{
 +
id :
 +
rtmp_url :
 +
}
 +
```
  
 +
## 直播推流
 +
第三方根据直播创建接口返回的推流地址rtmp_url开始推流
  
'''4.高效的直播内容传播'''
+
## 直播更新接口
 +
URL : https://api.weibo.com/2/proxy/live/update [POST]
  
第三方直播内容接入后可享受微博直播统一的用户触达服务,具体包括直播push通知、直播置顶提示,同时也能享受直播feed大图卡片,增加直播内容的曝光率。
+
说明:直播对象信息、状态等更新
http://ww3.sinaimg.cn/large/67110a0cjw1f4endt4pwpj20i208xtbd.jpg
+
  
 +
参数:
  
'''5.第三方品牌体现'''
+
    |必选|类型|描述|
 +
----|----|----|----|
 +
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|直播回放地址
  
微博直播支持给接入的第三方适当的品牌体现,增加第三方品牌的影响力。
+
返回:
http://ww2.sinaimg.cn/large/67110a0cjw1f4emicn81zj20ag08wwi0.jpg
+
  
== 微博直播OPEN API接入流程 ==
+
    |类型|说明|
 +
  ---|---|---|
 +
  id|string|直播ID|
 +
 
 +
示例:
  
http://ww4.sinaimg.cn/large/67110a0cjw1f4en9lgpc7j20i2034glt.jpg
+
```
 +
{
 +
id :
 +
}
 +
```
  
 +
## 直播删除接口
 +
URL : https://api.weibo.com/2/proxy/live/delete [POST]
  
'''技术开发文档地址:'''
+
说明:直播对象删除,不可逆
  
== 微博直播OPEN API的限制 ==
+
参数:
  
1.用户直播权限限制
+
    |必选|类型|描述|
目前微博直播只支持微博支付宝绑定用户、橙V认证用户、媒体蓝V开通直播功能,所以,不再此范围内的用户暂不能通过第三方接入的方式进行直播。
+
----|----|----|----|
 +
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得|
 +
id|true|string|直播ID|
  
 +
返回:
  
2.建议直播推流参数
+
    |类型|说明|
{{left|http://ww3.sinaimg.cn/large/67110a0cjw1f4ellgy581j20f602jweb.jpg}}
+
  ---|---|---|
 +
  id|string|直播ID|
 +
 
 +
示例:
  
== 无开发能力的小伙伴如何使用微博直播服务? ==
+
```
 +
{
 +
id :
 +
}
 +
```
  
针对无技术开发能力的机构或个人,微博还提供了另外一种快捷的直播方式,通过简单的几步操作即可完成一场直播。直播创建页面地址:http://weibo.com/p/231087001  注:目前此页面仅支持微博黄V认证用户、媒体蓝v用户、以及微博支付宝绑定用户使用,如您无使用权限,请私信微博直播的官方微博:@微博直播 咨询开通。
+
## 直播信息接口
 +
URL : https://api.weibo.com/2/proxy/live/show [POST]
  
'''使用步骤说明'''
+
说明:直播对象信息、互动信息等获取
  
1、 打开直播创建页面,点击新建直播。
+
参数:
  
 +
    |必选|类型|描述|
 +
----|----|----|----|
 +
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得|
 +
id|true|string|直播ID|
 +
detail|false|string|直播详情,0:不返回,1:返回,默认为0
  
{{left|http://ww3.sinaimg.cn/large/67110a0cjw1f4emcf9nabj20hs0esmzw.jpg}}
+
返回:
  
+
  |类型|说明|
2、 输入直播标题、微博正文、上传直播封面图。
+
  ---|---|---|
 +
  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 :
 +
}
 +
```
  
{{left|http://ww2.sinaimg.cn/large/67110a0cjw1f4elc8gmvuj20ho0entaa.jpg}}
+
## 直播互动接口
 +
### 上行互动
 +
URL : https://api.weibo.com/2/proxy/live/chatroom/r_msg [POST]
  
 +
说明:直播用户上行评论接口
  
3、 点击下一步,返回推流地址,设置推荐软件,并开启推流。
+
参数:
  
 +
    |必选|类型|描述|
 +
----|----|----|----|
 +
access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得|
 +
id|true|string|直播ID|
 +
type|false|int|评论类型,现在只有文本,默认为0|
 +
content|true|string|评论文本内容|
  
{{left|http://ww4.sinaimg.cn/large/67110a0cjw1f4elc8ww9nj20ho0enjtj.jpg}}
+
返回:
  
   
+
  |类型|说明|
4、 预览直播内容,并发布直播微博。
+
---|---|---|
 +
id|string|直播ID|
 +
delay|uint64|表示当前用户的下一次发言间隔,单位为秒,可以没有
  
 +
示例:
  
{{left|http://ww1.sinaimg.cn/large/67110a0cjw1f4elc9myoej20gz0c3dnb.jpg}}
+
```
 +
{
 +
    id :
 +
    context :
 +
}
 +
```
  
== 联系方式 ==
+
### 下行互动
 +
URL : https://api.weibo.com/2/proxy/live/chatroom/r_sync [POST]
  
如有问题请联系 wbdmt@staff.weibo.com
+
说明:直播者获取下行互动接口
 +
 
 +
参数:
 +
 
 +
    |必选|类型|描述|
 +
----|----|----|----|
 +
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的版本

  1. 直播服务OPEN API V1.0(2016-05-10)
    1. 直播接口授权机制

目前微博开放平台用户身份鉴权采用的是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)

    1. 直播创建接口

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 : } ```

    1. 直播推流

第三方根据直播创建接口返回的推流地址rtmp_url开始推流

    1. 直播更新接口

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 : } ```

    1. 直播删除接口

URL : https://api.weibo.com/2/proxy/live/delete [POST]

说明:直播对象删除,不可逆

参数:

   |必选|类型|描述|

|----|----|----|

access_token|true|string|采用OAuth授权方式为必填参数,OAuth授权后获得| id|true|string|直播ID|

返回:

   |类型|说明|
 ---|---|---|
 id|string|直播ID|
 

示例:

``` { id : } ```

    1. 直播信息接口

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 : } ```

    1. 直播互动接口
      1. 上行互动

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 : 

} ```

      1. 下行互动

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 ```

    1. 错误代码

错误码

错误码|错误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 : } ```