弹幕接入相关接口文档
文档介绍
获取指定直播间弹幕接口
功能
获取指定主播直播间的弹幕信息,并支持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×tamp=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×tamp=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×tamp=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×tamp=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×tamp=1536199378&sign=XXXXXXXXXX");
//wss请求 var socket = new WebSocket("wss://openapi.huya.com/index.html?do=getVipEnterBannerNotice&data={\"roomId\":863214}&appId=1533110570515091×tamp=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"
}
}