# 稍后再看 - [视频添加稍后再看](#视频添加稍后再看) - [添加频道中所有视频到稍后再看](#添加频道中所有视频到稍后再看) - [获取稍后再看视频列表](#获取稍后再看视频列表) - [删除稍后再看视频](#删除稍后再看视频) - [清空稍后再看视频列表](#清空稍后再看视频列表) --- ## 视频添加稍后再看 >https://api.bilibili.com/x/v2/history/toview/add *请求方式: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方式: ```shell curl 'https://api.bilibili.com/x/v2/history/toview/add' \ --data-urlencode 'aid=41687433' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx' ``` bvid方式: ```shell curl 'https://api.bilibili.com/x/v2/history/toview/add' \ --data-urlencode 'bvid=BV1ht41147kj' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx' ```
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1 } ```
## 添加频道中所有视频到稍后再看 > https://space.bilibili.com/ajax/channel/addAllToView *请求方式:POST* 认证方式:Cookie(SESSDATA) 鉴权方式:Cookie中`DedeUserID`及`DedeUserID__ckMd5`存在且不为0,referer为 `.bilibili.com`域名下 带有转义 超过容量后会截取容量之内的添加 **正文参数( application/x-www-form-urlencoded ):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------------------ | ------ | ---- | | cid | num | 目标频道id | 必要 | | | mid | num | 目标频道所属的用户mid | 必要 | | | csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ------ | ---- | -------- | --------------------------- | | status | bool | 是否成功 | false:失败
true:成功 | | data | str | 错误信息 | | **示例:** 添加用户`mid=282994`下的频道`4693`中所有视频到稍后再看 ```shell curl 'https://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' ```
查看响应示例: ```json { "status": true, "data": "操作成功" } ```
## 获取稍后再看视频列表 > https://api.bilibili.com/x/v2/history/toview *请求方式: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 | 视频状态 | 略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`state`备注 | | ~~attribute~~(仅做历史性保留) | ~~num~~ | ~~稿件属性位配置~~ | 本字段已被删除~~略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`attribute`备注~~ | | duration | num | 稿件总时长(所有分P) | 单位为秒 | | rights | obj | 稿件属性标志 | 略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`rights`对象 | | owner | obj | 稿件UP主信息 | 略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`owner`对象 | | stat | obj | 稿件状态数 | 略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`stat`对象 | | dynamic | str | 视频同步发布的的动态的文字内容 | 无为空 | | dimension | obj | 稿件1P分辨率 | 略,见[获取视频详细信息(web端)](/video/info.md#获取视频详细信息(web端))中的`dimension`对象 | | count | num | 稿件分P数 | 非投稿视频无此项 | | cid | num | 视频cid | | | progress | num | 观看进度时间 | 单位为秒 | | add_at | num | 添加时间 | 时间戳 | | bvid | str | 稿件bvid | | **示例:** 获取稍后再看视频列表 ```shell curl 'https://api.bilibili.com/x/v2/history/toview' \ -b 'SESSDATA=xxx' ```
查看响应示例: ```json "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" }, ………… ] } } ```
## 删除稍后再看视频 > https://api.bilibili.com/x/v2/history/toview/del *请求方式: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`的稍后再看记录 ```shell curl 'https://api.bilibili.com/x/v2/history/toview/del' \ --data-urlencode 'aid=540580868' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx' ```
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1 } ```
删除所有已观看的视频 ```shell curl 'https://api.bilibili.com/x/v2/history/toview/del' \ --data-urlencode 'viewed=true' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx' ```
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1 } ```
## 清空稍后再看视频列表 > https://api.bilibili.com/x/v2/history/toview/clear *请求方式: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 | | **示例:** 清空稍后再看视频列表 ```shell curl 'https://api.bilibili.com/x/v2/history/toview/clear' \ --data-urlencode 'csrf=xxx' \ -b 'SESSDATA=xxx' ```
查看响应示例: ```json { "code": 0, "message": "0", "ttl": 1 } ```