虎牙开放平台

弹幕接入相关接口文档

本文档不再更新,最新相关文档请查看虎牙小程序

文档介绍

提供接入虎牙直播相关弹幕内容的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 消费数量
sendItemComboHits 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,
		"sendItemComboHits": 1,
		"senderAvatarurl": "https://huyaimg.msstatic.com/avatar/1022/6f/8e0365f4a719b4e3652041c7cd4679_180_135.jpg?1526707583",
		"sendNick": "上车上车快上车"
	}
}

获取高级用户进场信息接口

功能

获取指定主播直播间的高级用户进场信息,并支持ws和wss两种websocket的访问。

基础数据

请求参数

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

返回数据(JSON)

参数名称 类型 描述
roomId int 房间号
userNick string 进场用户昵称
userAvatarUrl string 进场用户头像
weekRank int 对应房间进场用户的周贡排名
guardLevel int 对应房间主播的进场用户守护等级
nobleLevel int 进场用户的贵族等级
nobleName string 贵族名称
fansLevel int 粉丝等级(只有是该房间主播的粉丝才会返回该字段)
badgeName string 粉丝徽章名称(只有是该房间主播的粉丝才会返回该字段)

请求示例

JS(ws)

var socket = new WebSocket("ws://openapi.huya.com/index.html?do=getVipEnterBannerNotice&data={\"roomId\":863214}&appId=1533110570515091&timestamp=1536199378&sign=XXXXXXXXXX");
//wss请求 var socket = new WebSocket("wss://openapi.huya.com/index.html?do=getVipEnterBannerNotice&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.userNick+']: '+json.data.weekRank+'');
    }
    else
    {
        //TODO 错误处理
    }
};

返回示例

JSON

{
	"statusCode": 200,
	"statusMsg": "",
	"data": {
		"roomId": 863214,
		"userNick": "上车上车快上车",
		"userAvatarUrl": "https://huyaimg.msstatic.com/avatar/1022/6f/8e0365f4a719b4e3652041c7cd4679_180_135.jpg?1526707583",
		"weekRank": 1,
		"guardLevel": 1,
		"nobleLevel": 1,
		"nobleName": "xxx",
		"fansLevel": 1,
		"badgeName": "xxx"
	}
}

>