请求方式:POST
认证方式:Cookie(SESSDATA)或APP
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
root | num | 根评论rpid | 非必要 | 二级评论以上使用 |
parent | num | 父评论rpid | 非必要 | 二级评论同根评论id 大于二级评论为要回复的评论id |
message | str | 发送评论内容 | 必要 | 最大1000字符 表情使用表情转义符 |
plat | num | 发送平台标识 | 非必要 | 1:web端 2:安卓客户端 3:ios客户端 4:wp客户端 默认为1 |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -404:无此项 -509:请求过于频繁 12001:已经存在评论主题 12002:评论区已关闭 12003:禁止回复 12006:没有该评论 12009:评论主体的type不合法 12015:需要评论验证码 12016:评论内容包含敏感信息 12025:评论字数过多 12035:该账号被UP主列入评论黑名单 12051:重复评论,请勿刷屏 12052:评论区已关闭 (其他错误码有待补充) |
message | str | 错误信息 | |
ttl | num | 1 | |
data | obj | 数据本体 |
data
对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
success_action | num | 0 | 作用尚不明确 |
success_toast | str | 状态文字 | |
need_captcha | bool | false | 评论需要验证码(未证实) |
url | str | 空 | 作用尚不明确 |
rpid | num | 评论rpid | |
rpid_str | str | 评论rpid | 字串格式 |
dialog | num | 回复对方rpid | 若为一级评论则为0 若为二级评论则为该评论id 大于二级评论为上一级评论id |
dialog_str | str | 回复对方rpid | 字串格式 |
root | num | 根评论rpid | 若为一级评论则为0 大于一级评论则为根评论id |
root_str | str | 根评论rpid | 字串格式 |
parent | num | 回复父评论rpid | 若为一级评论则为0 若为二级评论则为根评论id 大于二级评论为上一级评论id |
parent_str | str | 回复父评论rpid | 字串格式 |
emote | obj | 表情转义符信息 | 对象定义见表 |
reply | 有效时:obj 无效时:null |
对象定义见表 |
示例:
给视频av243322853
发送内容为测试test[泠鸢yousa_awsl]
的评论(带有表情转义符),平台标识为1(web端)
curl 'http://api.bilibili.com/x/v2/reply/add' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=243322853' \
--data-urlencode 'message=测试test[泠鸢yousa_awsl]' \
--data-urlencode 'plat=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"success_action": 0,
"success_toast": "发送成功",
"need_captcha": false,
"url": "",
"rpid": 3043212039,
"rpid_str": "3043212039",
"dialog": 0,
"dialog_str": "0",
"root": 0,
"root_str": "0",
"parent": 0,
"parent_str": "0",
"emote": {
"[泠鸢yousa_awsl]": {
"id": 2086,
"package_id": 93,
"state": 0,
"type": 3,
"attr": 0,
"text": "[泠鸢yousa_awsl]",
"url": "http://i0.hdslb.com/bfs/emote/7663b729161bd4556c2ec318c07791000743eb56.png",
"meta": {
"size": 2
},
"mtime": 1589776042
}
},
"reply": {
"rpid": 3043212039,
"oid": 243322853,
"type": 1,
"mid": 293793435,
"root": 0,
"parent": 0,
"dialog": 0,
"count": 0,
"rcount": 0,
"state": 0,
"fansgrade": 0,
"attr": 0,
"ctime": 1592233764,
"rpid_str": "3043212039",
"root_str": "0",
"parent_str": "0",
"like": 0,
"action": 0,
"member": {
"mid": "293793435",
"uname": "社会易姐QwQ",
"sex": "男",
"sign": "高中技术宅一枚,爱好MC&电子&8-bit音乐&数码&编程,资深猿厨",
"avatar": "http://i1.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"rank": "10000",
"DisplayRank": "0",
"level_info": {
"current_level": 5,
"current_min": 0,
"current_exp": 0,
"next_exp": 0
},
"pendant": {
"pid": 1888,
"name": "泠鸢yousa",
"image": "http://i0.hdslb.com/bfs/garb/item/3e66e712b8e70c6b02393c54ad5fd8d993eb39f9.png",
"expire": 0,
"image_enhance": "http://i0.hdslb.com/bfs/garb/item/3e66e712b8e70c6b02393c54ad5fd8d993eb39f9.png"
},
"nameplate": {
"nid": 0,
"name": "",
"image": "",
"image_small": "",
"level": "",
"condition": ""
},
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 2,
"vipDueDate": 1612454400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": "",
"text": "年度大会员",
"label_theme": "annual_vip"
}
},
"fans_detail": null,
"following": 0,
"is_followed": 0,
"user_sailing": {
"pendant": {
"id": 1888,
"name": "泠鸢yousa",
"image": "http://i0.hdslb.com/bfs/garb/item/3e66e712b8e70c6b02393c54ad5fd8d993eb39f9.png",
"jump_url": "",
"type": "suit"
},
"cardbg": null,
"cardbg_with_focus": null
}
},
"content": {
"message": "测试test[泠鸢yousa_awsl]",
"plat": 1,
"device": "",
"members": [],
"emote": {
"[泠鸢yousa_awsl]": {
"id": 2086,
"package_id": 93,
"state": 0,
"type": 3,
"attr": 0,
"text": "[泠鸢yousa_awsl]",
"url": "http://i0.hdslb.com/bfs/emote/7663b729161bd4556c2ec318c07791000743eb56.png",
"meta": {
"size": 2
},
"mtime": 1589776042
}
},
"jump_url": {},
"max_line": 0
},
"replies": null,
"assist": 0,
"folder": {
"has_folded": false,
"is_folded": false,
"rule": "https://www.bilibili.com/blackboard/foldingreply.html"
},
"up_action": {
"like": false,
"reply": false
},
"show_follow": false
}
}
}
请求方式:POST
认证方式:Cookie(SESSDATA)或APP
点赞成功后会同时消去该评论的点踩
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
rpid | num | 目标评论rpid | 必要 | |
action | num | 操作代码 | 非必要 | 默认为0 0:取消赞 1:点赞 |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -404:无此项 -509:请求过于频繁 12002:评论区已关闭 12004:禁止操作 赞或踩 12006:没有该评论 12009:评论主体的type不合法 12011:不合法的赞或踩 (其他错误码有待补充) |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 |
示例:
点赞视频av243322853
下评论rpid=3039053308
curl 'http://api.bilibili.com/x/v2/reply/action' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=243322853' \
--data-urlencode 'rpid=3039053308' \
--data-urlencode 'action=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
请求方式:POST
认证方式:Cookie(SESSDATA)或APP
点踩成功后会同时消去该评论的点赞
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
rpid | num | 目标评论rpid | 必要 | |
action | num | 操作代码 | 非必要 | 默认为0 0:取消踩 1:点踩 |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -404:无此项 -509:请求过于频繁 12002:评论区已关闭 12004:禁止操作 赞或踩 12006:没有该评论 12009:评论主体的type不合法 12011:不合法的赞或踩 (其他错误码有待补充) |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 |
示例:
点踩视频av243322853
下评论rpid=3039053308
curl 'http://api.bilibili.com/x/v2/reply/hate' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=243322853' \
--data-urlencode 'rpid=3039053308' \
--data-urlencode 'action=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
请求方式:POST
认证方式:Cookie(SESSDATA)或APP
只能删除自己的评论,或自己管理的评论区下的评论
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
rpid | num | 目标评论rpid | 必要 | |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -403:权限不足 -404:无此项 -509:请求过于频繁 12002:评论区已关闭 12009:评论主体的type不合法 12022:已经被删除了 (其他错误码有待补充) |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 | 作用尚不明确 |
示例:
删除av243322853
下评论rpid=3039053308
curl 'http://api.bilibili.com/x/v2/reply/del' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=243322853' \
--data-urlencode 'rpid=3039053308' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
请求方式:POST
认证方式:Cookie(SESSDATA)或APP
只能置顶自己管理的评论区中的一级评论
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
rpid | num | 目标评论rpid | 必要 | |
action | num | 操作代码 | 非必要 | 默认为0 0:取消置顶 1:设为置顶 |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -403:权限不足 -404:无此项 -509:请求过于频繁 12002:评论区已关闭 12006:没有该评论 12009:评论主体的type不合法 12029:已经有置顶评论 12030:不能置顶非一级评论 (其他错误码有待补充) |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 |
示例:
置顶视频av243322853
下评论rpid=2940645593
curl 'http://api.bilibili.com/x/v2/reply/top' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=243322853' \
--data-urlencode 'rpid=2940645593' \
--data-urlencode 'action=1' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
请求方式:POST
认证方式:Cookie(SESSDATA)或APP
正文参数( application/x-www-form-urlencoded ):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
access_key | str | APP登录Token | APP方式必要 | |
type | num | 评论区类型代码 | 必要 | 类型代码见表 |
oid | num | 目标评论区id | 必要 | |
rpid | num | 目标评论rpid | 必要 | |
reason | num | 举报类型 | 必要 | 类型代码见下表 |
content | str | 其他举报备注 | 非必要 | reason=0 时有效 |
csrf | str | CSRF Token(位于cookie) | Cookie方式必要 |
举报类型reason
:
代码 | 含义 |
---|---|
0 | 其他 |
1 | 垃圾广告 |
2 | 色情 |
3 | 刷屏 |
4 | 引战 |
5 | 剧透 |
6 | 政治 |
7 | 人身攻击 |
8 | 内容不相关 |
9 | 违法违规 |
10 | 低俗 |
11 | 非法网站 |
12 | 赌博诈骗 |
13 | 传播不实信息 |
14 | 怂恿教唆信息 |
15 | 侵犯隐私 |
16 | 抢楼 |
17 | 青少年不良信息 |
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -101:账号未登录 -102:账号被封停 -111:csrf校验失败 -400:请求错误 -403:权限不足 -404:无此项 -500:服务器错误 -509:请求过于频繁 12002:评论区已关闭 12006:没有该评论 12008:已经举报过了 12009:评论主体的type不合法 12019:举报过于频繁 (其他错误码有待补充) |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 |
示例:
举报视频av752881391
下评论rpid=3062537442
,理由是引战
curl 'http://api.bilibili.com/x/v2/reply/report' \
--data-urlencode 'type=1' \
--data-urlencode 'oid=752881391' \
--data-urlencode 'rpid=3062537442' \
--data-urlencode 'reason=4' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}