22 KiB
稍后再看
视频添加稍后再看
请求方式:POST
认证方式:Cookie(SESSDATA)
最多添加100个视频
正文参数( application/x-www-form-urlencoded ):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| aid | num | 稿件avID | 必要(可选) | avID与bvID任选一个 |
| bvid | str | 稿件bvID | 必要(可选) | avID与bvID任选一个 |
| csrf | str | CSRF Token(位于cookie) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -101:账号未登录 -111:csrf校验失败 -400:请求错误 90001:列表已满 90003:稿件已经被删除 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 |
示例:
添加视频av41687433/BV1ht41147kj到稍后再看列表
avID方式:
curl 'http://api.bilibili.com/x/v2/history/toview/add'\
--data-urlencode 'aid=41687433'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
bvID方式:
curl 'http://api.bilibili.com/x/v2/history/toview/add'\
--data-urlencode 'bvid=BV1ht41147kj'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
添加频道中所有视频到稍后再看
请求方式:POST
认证方式:Cookie(SESSDATA)
鉴权方式:Cookie中DedeUserID及DedeUserID__ckMd5存在且不为0,referer为 .bilibili.com域名下
带有转义
超过容量后会截取容量之内的添加
正文参数( application/x-www-form-urlencoded ):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| cid | num | 目标频道ID | 必要 | |
| mid | num | 目标频道所属的用户UID | 必要 | |
| csrf | str | CSRF Token(位于cookie) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| status | bool | 是否成功 | false:失败 true:成功 |
| data | str | 错误信息 |
示例:
添加用户UID=282994下的频道4693中所有视频到稍后再看
curl 'http://space.bilibili.com/ajax/channel/addAllToView'\
--data-urlencode 'cid=4693'\
--data-urlencode 'mid=282994'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx;DedeUserID=1;DedeUserID__ckMd5=1;'
-e 'https://www.bilibili.com'
查看响应示例:
{
"status": true,
"data": "操作成功"
}
获取稍后再看视频列表
请求方式:GET
认证方式:Cookie(SESSDATA)
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -101:账号未登录 -400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | data | 数据本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| count | num | 稍后再看视频数 | |
| list | array | 稍后再看视频列表 |
data中的list数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | obj | 稍后再看1 | |
| n | obj | 稍后再看(n+1) | 按照添加顺序排列 项数为总计稍后再看视频数 |
| …… | obj | …… | …… |
| 99 | obj | 最后一项 |
data中的list数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| aid | num | 稿件avID | |
| videos | num | 稿件分P总数 | 默认为1 |
| tid | num | 分区tID | |
| tname | str | 子分区名称 | |
| copyright | num | 是否转载 | 1:原创 2:转载 |
| pic | str | 稿件封面图片url | |
| title | str | 稿件标题 | |
| pubdate | num | 稿件发布时间 | 时间戳 |
| ctime | num | 用户提交稿件的时间 | 时间戳 |
| desc | str | 视频简介 | |
| state | num | 视频状态 | 0:开放浏览 1:橙色通过 -1:待审 -2:被打回 -3:网警锁定 -4:被锁定 -5:管理员锁定(可浏览) -6:修复待审 -7:暂缓审核 -8:补档待审 -9:等待转码 -10:延迟审核 -11:视频源待修 -12:转储失败 -13:允许评论待审 -14:临时回收站 -15:分发中 -16:转码失败 -20:创建未提交 -30:创建已提交 -40:定时发布 -100:用户删除 |
| attribute | num | 稿件属性位配置 | |
| duration | num | 稿件总时长(所有分P) | 单位为秒 |
| rights | obj | 稿件属性标志 | |
| owner | obj | 稿件UP主信息 | |
| stat | obj | 稿件状态数 | |
| dynamic | str | 视频同步发布的的动态的文字内容 | 无为空 |
| dimension | obj | 稿件1P分辨率 | |
| count | num | 稿件分P数 | 非投稿视频无此项 |
| cid | num | 视频CID | |
| progress | num | 观看进度时间 | 单位为秒 |
| add_at | num | 添加时间 | 时间戳 |
| bvid | str | 稿件bvID |
attribute属性位二进制值表:
| 位 | 内容 | 备注 |
|---|---|---|
| 0 | 禁止排行 | |
| 1 | 动态禁止 | |
| 2 | 禁止网页输出 | |
| 3 | 禁止客户端列表 | |
| 4 | 搜索禁止 | |
| 5 | 海外禁止 | |
| 6 | 禁止推荐 | |
| 7 | 禁止转载 | |
| 8 | 是否高清 | 视频清晰度>=1080P |
| 9 | 是否PGC稿件 | 番剧及影视 |
| 10 | 允许承包 | |
| 11 | 是否番剧 | |
| 12 | 是否私单 | |
| 13 | 是否限制地区 | 大多数番剧 |
| 14 | 允许其他人添加tag | |
| 15 | ? | |
| 16 | 跳转 | 番剧及影视av/bv->ep跳转 |
| 17 | 是否影视 | |
| 18 | 付费 | |
| 19 | 推送动态 | |
| 20 | 家长模式 | |
| 21 | UGC付费 | |
| 22 | ? | |
| 23 | 是否失效 |
data中的list数组中的对象中的rights对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| bp | num | 0 | 作用尚不明确 |
| elec | num | 是否支持充电 | |
| download | num | 是否允许下载 | |
| movie | num | 是否电影 | |
| pay | num | 是否PGC付费 | |
| hd5 | num | 是否有高码率 | |
| no_reprint | num | 是否禁止转载 | |
| autoplay | num | 是否可以自动播放 | |
| ugc_pay | num | 是否UGC付费 | |
| is_cooperation | num | 是否联合投稿 | |
| ugc_pay_preview | num | 0 | 作用尚不明确 |
| no_background | num | 0 | 作用尚不明确 |
data中的list数组中的对象中的owner对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| mid | num | UP主UID | |
| name | str | UP主昵称 | |
| face | str | UP主头像 |
data中的list数组中的对象中的stat对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| aid | num | 稿件avID | |
| view | num | 普通:观看次数 屏蔽时:-1 |
|
| danmaku | num | 弹幕条数 | |
| reply | num | 评论条数 | |
| favorite | num | 收藏人数 | |
| coin | num | 投币枚数 | |
| share | num | 分享次数 | |
| now_rank | num | 0 | 作用尚不明确 |
| his_rank | num | 历史最高排行 | |
| like | num | 获赞次数 | |
| dislike | num | 0 | 作用尚不明确 |
| evaluation | str | 视频评分 | 默认为空 |
data中的list数组中的对象中的pages对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cid | num | 当前分P CID | |
| page | num | 当前分P | |
| from | str | 视频来源 | vupload:用户上传 hunan:芒果TV |
| part | str | 当前分P标题 | |
| duration | num | 当前分P持续时间 | 单位为秒 |
| vid | str | 空 | 作用尚不明确 |
| weblink | str | 空 | 作用尚不明确 |
| dimension | obj | 当前分P分辨率 |
pages中的dimension对象(同data中的list数组中的对象中的dimension对象):
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| width | num | 当前分P 宽度 | 可能为0 |
| height | num | 当前分P 高度 | 可能为0 |
| rotate | num | 是否将宽高对换 | 0:正常 1:对换 |
示例:
获取稍后再看视频列表
curl 'http://api.bilibili.com/x/v2/history/toview'\
-b 'SESSDATA=xxx'
查看响应示例:
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"count": 25,
"list": [
{
"aid": 200333024,
"videos": 1,
"tid": 95,
"tname": "手机平板",
"copyright": 1,
"pic": "http://i1.hdslb.com/bfs/archive/a5e3072e670daec4c01a182aae91c1f85a48001e.jpg",
"title": "【山新】疫情下,配音演员怎么开工录音?",
"pubdate": 1586959137,
"ctime": 1586959137,
"desc": "疫情这段时间,配音演员们是怎么录音的呢=W=",
"state": 0,
"attribute": 16768,
"duration": 218,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 1,
"no_reprint": 1,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 14082,
"name": "山新",
"face": "http://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg"
},
"stat": {
"aid": 200333024,
"view": 361123,
"danmaku": 1792,
"reply": 1376,
"favorite": 7571,
"coin": 12129,
"share": 895,
"now_rank": 0,
"his_rank": 0,
"like": 54705,
"dislike": 0
},
"dynamic": "疫情这段时间,配音演员们是怎么录音的呢=W=",
"dimension": {
"width": 3840,
"height": 2160,
"rotate": 0
},
"page": {
"cid": 178808041,
"page": 1,
"from": "vupload",
"part": "无标题",
"duration": 218,
"vid": "",
"weblink": "",
"dimension": {
"width": 3840,
"height": 2160,
"rotate": 0
}
},
"count": 1,
"cid": 178808041,
"progress": 32,
"add_at": 1587041785,
"bvid": "BV1Yz411B7n3"
},
{
"aid": 710350011,
"videos": 1,
"tid": 124,
"tname": "趣味科普人文",
"copyright": 1,
"pic": "http://i0.hdslb.com/bfs/archive/c5b7e7c07a4abf27029c5afb3ab65fee4475b9a9.jpg",
"title": "不花一分钱建立自己的网站!给硬盘里的小姐姐换个新家!",
"pubdate": 1586919626,
"ctime": 1586898238,
"desc": "制作视频不易,你的点赞是对我最大的支持!\nUP主的个人网站:https://amdradeonrin.github.io/MIKU/\n视频提到的文件在网站有下载\nGitHub上的网站源码:https://github.com/AMDRadeonRin/MIKU",
"state": 0,
"attribute": 16768,
"duration": 169,
"mission_id": 13106,
"rights": {
"bp": 0,
"elec": 0,
"download": 0,
"movie": 0,
"pay": 0,
"hd5": 1,
"no_reprint": 1,
"autoplay": 1,
"ugc_pay": 0,
"is_cooperation": 0,
"ugc_pay_preview": 0,
"no_background": 0
},
"owner": {
"mid": 179757857,
"name": "GTX690战术核显卡导弹",
"face": "http://i2.hdslb.com/bfs/face/2504de8c1eeef22d91bbc45803f6b29afcbb0adf.jpg"
},
"stat": {
"aid": 710350011,
"view": 3293,
"danmaku": 37,
"reply": 117,
"favorite": 355,
"coin": 76,
"share": 11,
"now_rank": 0,
"his_rank": 0,
"like": 325,
"dislike": 0
},
"dynamic": "#网页制作##HTML##网页#给你们科普一下怎么弄网站吧,你们也可以考虑整一个XD",
"dimension": {
"width": 1920,
"height": 1080,
"rotate": 0
},
"count": 1,
"cid": 0,
"progress": 0,
"add_at": 1587012410,
"bvid": "BV1LQ4y1T7Xh"
},
…………
]
}
}
删除稍后再看视频
请求方式:POST
认证方式:Cookie(SESSDATA)
正文参数( application/x-www-form-urlencoded ):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| viewed | bool | 是否删除所有已观看的视频 | 非必要 | true:删除已观看视频 false:不删除已观看视频 默认为false |
| aid | num | 删除的目标记录的avID | 非必要 | |
| csrf | str | CSRF Token(位于cookie) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -101:账号未登录 -111:csrf校验失败 -400:请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 |
示例:
删除视频av540580868的稍后再看记录
curl 'http://api.bilibili.com/x/v2/history/toview/del'\
--data-urlencode 'aid=540580868'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
删除所有已观看的视频
curl 'http://api.bilibili.com/x/v2/history/toview/del'\
--data-urlencode 'viewed=true'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}
清空稍后再看视频列表
请求方式:POST
认证方式:Cookie(SESSDATA)
正文参数( application/x-www-form-urlencoded ):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| csrf | num | CSRF Token(位于cookie) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0:成功 -101:账号未登录 -111:csrf校验失败 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 |
示例:
清空稍后再看视频列表
curl 'http://api.bilibili.com/x/v2/history/toview/clear'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
查看响应示例:
{
"code": 0,
"message": "0",
"ttl": 1
}