虎牙开放平台

弹幕接入相关接口文档

文档介绍

提供接入虎牙直播相关弹幕内容的API文档说明

获取指定直播间弹幕接口

功能

获取指定主播直播间的弹幕信息,并支持ws和wss两种websocket的访问。

基础数据

请求参数

参数名称 类型 是否必需 描述
roomId int 房间号

返回数据(JSON)

参数名称 类型 描述
roomId int 房间号
sendNick string 发言人昵称
senderAvatarUrl string 发言人头像
senderGender string 发言人性别, 0:女,1:男
showMode string 显示类型:0.公屏和弹幕 1.公屏 2.弹幕
content string 发言内容
nobleLevel int 贵族等级
fansLevel int 粉丝等级
badgeName string 粉丝徽章名称(普通弹幕,不包括上电视弹幕)

请求示例

JS(ws)

var socket = new WebSocket("ws://openapi.huya.com/index.html?do=getMessageNotice&data={\"roomId\":863214}&appId=1533110570515091&timestamp=1536199378&sign=XXXXXXXXXX");

socket.onopen=function(event)
{
    socket.send('ping');
    setInterval(function(){
        socket.send('ping');
    },15000);
};

//处理到来的信令
socket.onmessage = function(event){
    console.log('onmessage: ',event.data);
    var json = JSON.parse(event.data);
    if (json.statusCode == 200)
    {
        //TODO处理弹幕数据json.data
        document.write('['+json.data.sendNick+']: '+json.data.content+'');
    }
    else
    {
        //TODO 错误处理
    }
};

JS(wss)

var socket = new WebSocket("wss://openapi.huya.com/index.html?do=getMessageNotice&data={\"roomId\":863214}&appId=1533110570515091&timestamp=1536199378&sign=XXXXXXXXXX");

socket.onopen=function(event)
{
    socket.send('ping');
    setInterval(function(){
        socket.send('ping');
    },15000);
};

//处理到来的信令
socket.onmessage = function(event){
    console.log('onmessage: ',event.data);
    var json = JSON.parse(event.data);
    if (json.statusCode == 200)
    {
        //TODO处理弹幕数据json.data
        document.write('['+json.data.sendNick+']: '+json.data.content+'');
    }
    else
    {
        //TODO 错误处理
    }
};

返回示例

JSON

{
	"statusCode": 200,
	"statusMsg": "",
	"data": {
		"content": "666666666666",
		"fansLevel": 0,
		"nobleLevel": 0,
		"roomid": 863214,
		"sendNick": "春",
		"senderAvatarUrl": "https://huyaimg.msstatic.com/avatar/1086/80/07f2eaba7116a1e1185897ccaf15d2_180_135.jpg?1534416551",
		"senderGender": 0,
		"showMode": 0,
		"badgeName": ""
	}
}

获取指定主播直播间的送礼信息接口

功能

获取指定主播直播间的送礼信息,并支持ws和wss两种websocket的访问。

基础数据

请求参数

参数名称 类型 是否必需 描述
roomId int 房间号

返回数据(JSON)

参数名称 类型 描述
roomId int 房间号
presenterNick string 主播昵称
sendNick string 发言人昵称
senderAvatarUrl string 发言人头像
itemName string 礼物名称
sendItemCount int 消费数量

请求示例

JS(ws)

var socket = new WebSocket("ws://openapi.huya.com/index.html?do=getSendItemNotice&data={\"roomId\":863214}&appId=1533110570515091&timestamp=1536199378&sign=XXXXXXXXXX");

socket.onopen=function(event)
{
    socket.send('ping');
    setInterval(function(){
        socket.send('ping');
    },15000);
};

//处理到来的信令
socket.onmessage = function(event){
    console.log('onSendItem: ',event.data);
    var json = JSON.parse(event.data);
    if (json.statusCode == 200)
    {
        //TODO处理弹幕数据json.data
        document.write('['+json.data.sendNick+']: '+json.data.sendItemCount+'');
    }
    else
    {
        //TODO 错误处理
    }
};

JS(wss)

var socket = new WebSocket("wss://openapi.huya.com/index.html?do=getSendItemNotice&data={\"roomId\":863214}&appId=1533110570515091&timestamp=1536199378&sign=XXXXXXXXXX");

socket.onopen=function(event)
{
    socket.send('ping');
    setInterval(function(){
        socket.send('ping');
    },15000);
};

//处理到来的信令
socket.onmessage = function(event){
    console.log('onSendItem: ',event.data);
    var json = JSON.parse(event.data);
    if (json.statusCode == 200)
    {
        //TODO处理弹幕数据json.data
        document.write('['+json.data.sendNick+']: '+json.data.sendItemCount+'');
    }
    else
    {
        //TODO 错误处理
    }
};

返回示例

JSON

{
	"statusCode": 200,
	"statusMsg": "",
	"data": {
		"itemName": 虎粮,
		"presenterNick":"周星星",
		"roomId": 863214,
		"sendItemCount": 1,
		"senderAvatarurl": "https://huyaimg.msstatic.com/avatar/1022/6f/8e0365f4a719b4e3652041c7cd4679_180_135.jpg?1526707583",
		"sendNick": "上车上车快上车",
	}
}

>