http://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread
请求方式:GET
认证方式:Cookie(SESSDATA)
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 -6:账号未登录 |
message | str | 错误信息 | 默认为ok |
ttl | num | 1 | |
data | obj | 信息本体 |
data
对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
unfollow_unread | num | 未关注用户未读私信数 | |
follow_unread | num | 已关注用户未读私信数 | |
gt | num | 0 |
示例:
以下信息代表了为未关注用户未读私信数为1
条,已关注用户未读私信数为6
条
curl 'http://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"unfollow_unread": 1,
"follow_unread": 6,
"_gt_": 0
}
}
请求方式:POST
认证方式:Cookie(SESSDATA)
正文参数(application/x-www-form-urlencoded):
参数名 | 类型 | 内容 | 必要性 | 备注 |
---|---|---|---|---|
msg[sender_uid] | num | 发送者mid | 必要 | |
msg[receiver_id] | num | 接收者mid | 必要 | |
msg[receiver_type] | num | 1 | 必要 | 固定为1 |
msg[msg_type] | num | 消息类型 | 必要 | 1:发送文字 2:发送图片 5:撤回消息 |
msg[msg_status] | num | 0 | 非必要 | |
msg[dev_id] | string | 372778FD-E359-461D-86A3-EA2BCC6FF52A | 必要 | 获取方式在下面 |
msg[timestamp] | num | 时间戳(秒) | 必要 | |
msg[content] | 发送文字时:str 撤回消息时:num |
消息内容 | 必要 | 详见下表 |
csrf | str | CSRF Token(位于cookie) | 必要 |
dev_id的获取
以JS为例:
const deviceid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function (name) {
let randomInt = 16 * Math.random() | 0;
return ("x" === name ? randomInt : 3 & randomInt | 8).toString(16).toUpperCase()
}));
代码来自 andywang425/BLTH
msg[content]
消息内容:
当发送文字时(msg[msg_type]=1
):
该参数为json序列字串
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
content | str | 私信内容 |
当发送图片时(msg[msg_type]=2
):
该参数为json序列字串
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
url | str | 图片url | 默认为B站相簿图片上传通道 也可用三方图床 |
width | num | 图片的宽 | 单位:像素(非必要) |
height | num | 图片的高 | 单位:像素(非必要) |
type | str | 图片格式 | (非必要) |
original | num | 1 | 作用未知(非必要) |
size | num | 文件大小 | 单位:千字节(非必要) 向上取整 |
当撤回消息时(msg[msg_type]=5
):
该参数为数值,为目标消息的msg_key
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 |
message | str | 错误信息 | 默认为ok |
ttl | num | 默认为1 | |
data | obj | 主体 | 出错时为空 |
data
对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
msg_key | num | 消息唯一id | |
msg_content | str | 发送的消息 | |
key_hit_infos | obj | 作用尚不明确 |
示例:
给目标用户mid=1
发一条文字私信:
up主你好,
催更[doge]
curl 'http://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \
--data-urlencode 'msg[sender_uid]=293793435' \
--data-urlencode 'msg[receiver_id]=1' \
--data-urlencode 'msg[receiver_type] =1' \
--data-urlencode 'msg[msg_type]=1' \
--data-urlencode 'msg[dev_id] =372778FD-E359-461D-86A3-EA2BCC6FF52A' \
--data-urlencode 'msg[timestamp] =1626181379' \
--data-urlencode 'msg[content]={"content":"up主你好,\n催更[doge]"}' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{"code":0,
"message":"0",
"ttl":1,
"data":{"msg_key":6984393491767669026,
"msg_content":"up主你好,\n催更[doge]",
"key_hit_infos":{}}}
给目标用户mid=1
发一条图片私信:
curl 'http://api.vc.bilibili.com/web_im/v1/web_im/send_msg' \
--data-urlencode 'msg[sender_uid]=293793435' \
--data-urlencode 'msg[receiver_id]=1' \
--data-urlencode 'msg[receiver_type] =1' \
--data-urlencode 'msg[msg_type]=2' \
--data-urlencode 'msg[content]={"url":https://i1.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg}' \
--data-urlencode 'csrf_token=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
"code":0,
"msg":"ok",
"message":"ok",
"data":{
"msg_key":6852570013146024354,
"_gt_":0
}
}