Skip to content

Latest commit

 

History

History
353 lines (287 loc) · 11.1 KB

user.md

File metadata and controls

353 lines (287 loc) · 11.1 KB

直播间用户实用 API

获取用户持有的粉丝勋章信息

https://api.live.bilibili.com/fans_medal/v5/live_fans_medal/iApiMedal (旧) https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals

请求方式:GET

认证方式:Cookie(SESSDATA)或 APP

url 参数:

参数名 类型 内容 必要性 备注
page_size num 每页的数量 必要 最大为 10,超出 1002002:参数异常
page num 返回结果页数 必要 两个参数不填返回空,只 page 不填或错误则 500 异常

json 回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
-1002002:参数异常
-500:服务器异常
message str 错误信息 默认为 "0"
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
count num 勋章数量
items array 粉丝勋章信息本体
page_info obj 页码信息

items数组中的对象:

字段 类型 内容 备注
can_delete bool 可否删除
day_limit num 日经验上限(原力值) eg: 1500
guard_level num
guard_medal_title str 加成状态
intimacy num 当前已得亲密度
is_lighted num 是否点亮 0:未点亮
1:点亮
level num 勋章等级
medal_name str 勋章名
medal_color_border num 勋章边框颜色信息 颜色数值为 10 进制的 16 进制值(下同)
medal_color_start num 勋章起始颜色 从右往左渐变(20 级+勋章)
medal_color_end num 勋章结束颜色 从右往左渐变(20 级+勋章)
medal_id num 粉丝勋章 id
next_intimacy num 升级所需经验
today_feed num 本日亲密度
roomid num 直播间房间号
status num
target_id number up 主 mid
target_name str up 主用户名
uname str up 主用户名

page_info对象:

字段 类型 内容 备注
total_page num 页码总长度
cur_page num 当前返回的页码

示例:

curl https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals?page=1&page_size=10 \
-b "SESSDATA=xxx"
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "items": [
      {
        "can_deleted": true,
        "day_limit": 1500,
        "guard_level": 0,
        "guard_medal_title": "未开启加成",
        "intimacy": 9617,
        "is_lighted": 0,
        "level": 11,
        "medal_name": "锦依卫",
        "medal_color_border": 12632256,
        "medal_color_end": 12632256,
        "medal_color_start": 12632256,
        "medal_id": 29245,
        "next_intimacy": 10000,
        "today_feed": 0,
        "roomid": 1546736,
        "status": 0,
        "target_id": 36081646,
        "target_name": "洛天依",
        "uname": "洛天依"
      }
    ],
    "page_info": {
      "cur_page": 1,
      "total_page": 1
    },
    "count": 1
  }
}

佩戴勋章

https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear

请求方式:POST

表单参数:

参数名 类型 内容 必要性 备注
medal_id num 勋章 id 必要
csrf num cookie 中 bili_jct 字段 必要
csrf_token num 同上 必要

json 回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
ttl num 1
message str 错误信息 默认为佩戴成功
data obj 信息本体 默认为无

示例:

佩戴勋章 id 为 1 的勋章

var madelForm = new FormData();
madelForm.append("medal_id", 1);
madelForm.append("csrf", bili_jct);
madelForm.append("csrf_token", bili_jct);
$.ajax({
    url: "https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear",
    type: "POST",
    data: madelForm,
    dataType: "JSON",
    processData: false,
    contentType: false,
    cache: false,
    xhrFields: {
        withCredentials: true
    },
    success: function (){

    }
})
查看响应示例:
{
  "code": 0,
  "message": "佩戴成功",
  "ttl": 1,
  "data": {}
}

直播签到

https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign

请求方式:GET

认证方式:Cookie(SESSDATA)或 APP

json 回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
1:参数错误
ttl num 1
message str 错误信息 默认为当日签到奖励内容
data obj 信息本体 默认为空

本月直播签到信息

https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/WebGetSignInfo

请求方式:GET

认证方式:Cookie(SESSDATA)或 APP

json 回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
ttl num 1
message str 错误信息 默认为0
data obj 信息本体

data对象:

字段 类型 内容 备注
text str 今日签到奖励信息 默认为空
specialText str 连续签到奖励信息 默认为空
status num 签到状态 0:未签到
1:已签到
allDays num 当月天数
curMonth num 当前月
curYear num 当前年
curDay num 当前日
curData str 当前日期(格式化) eg: 2023-2-19
hadSignDays num 当月已签到天数 默认为0
newTask num 作用未知 默认为0
signDaysList array 当月已签到日列表 默认为空
signBonusDaysList array 当月已签到且有特殊奖励日列表 默认为空
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "text": "3000点用户经验,2根辣条",
        "specialText": "再签到7天可以获得50根辣条",
        "status": 1,
        "allDays": 28,
        "curMonth": 2,
        "curYear": 2023,
        "curDay": 19,
        "curDate": "2023-2-19",
        "hadSignDays": 13,
        "newTask": 0,
        "signDaysList": [
            2,
            3,
            4,
            5,
            6,
            7,
            11,
            13,
            14,
            15,
            17,
            18,
            19
        ],
        "signBonusDaysList": [
            6
        ]
    }
}

上月直播签到信息

https://api.live.bilibili.com/sign/getLastMonthSignDays

请求方式:GET

认证方式:Cookie(SESSDATA)或 APP

json 回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
ttl num 1
message str 错误信息 默认为0
data obj 信息本体

data对象:

字段 类型 内容 备注
days num 上月天数
month num 上月月份值
hadSignDays num 上月已签到天数 默认为0
signDaysList array 上月已签到日列表 默认为空
signBonusDaysList array 上月已签到且有特殊奖励日列表 默认为空
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "month": 1,
        "days": 31,
        "hadSignDays": 20,
        "signDaysList": [
            1,
            2,
            3,
            6,
            7,
            8,
            10,
            12,
            13,
            14,
            15,
            18,
            20,
            23,
            24,
            25,
            26,
            27,
            30,
            31
        ],
        "signBonusDaysList": [
            7,
            31
        ]
    }
}