bilibili-API-collect/history&toview/toview.md
2023-01-17 15:23:59 +08:00

18 KiB
Raw Blame History

稍后再看


视频添加稍后再看

https://api.bilibili.com/x/v2/history/toview/add

请求方式POST

认证方式CookieSESSDATA

最多添加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账号未登录
-111csrf校验失败
-400请求错误
90001列表已满
90003稿件已经被删除
message str 错误信息 默认为0
ttl num 1

示例:

添加视频av41687433/BV1ht41147kj到稍后再看列表

avid方式

curl 'https://api.bilibili.com/x/v2/history/toview/add' \
--data-urlencode 'aid=41687433' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'

bvid方式

curl 'https://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
}

添加频道中所有视频到稍后再看

https://space.bilibili.com/ajax/channel/addAllToView

请求方式POST

认证方式CookieSESSDATA

鉴权方式Cookie中DedeUserIDDedeUserID__ckMd5存在且不为0referer为 .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中所有视频到稍后再看

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'
查看响应示例:
{
    "status": true,
    "data": "操作成功"
}

获取稍后再看视频列表

https://api.bilibili.com/x/v2/history/toview

请求方式GET

认证方式CookieSESSDATA

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端中的state备注
attribute(仅做历史性保留) num 稿件属性位配置 本字段已被删除略,见获取视频详细信息web端中的attribute备注
duration num 稿件总时长所有分P 单位为秒
rights obj 稿件属性标志 略,见获取视频详细信息web端中的rights对象
owner obj 稿件UP主信息 略,见获取视频详细信息web端中的owner对象
stat obj 稿件状态数 略,见获取视频详细信息web端中的stat对象
dynamic str 视频同步发布的的动态的文字内容 无为空
dimension obj 稿件1P分辨率 略,见获取视频详细信息web端中的dimension对象
count num 稿件分P数 非投稿视频无此项
cid num 视频cid
progress num 观看进度时间 单位为秒
add_at num 添加时间 时间戳
bvid str 稿件bvid

示例:

获取稍后再看视频列表

curl 'https://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"
            },
            …………
        ]
    }
}

删除稍后再看视频

https://api.bilibili.com/x/v2/history/toview/del

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
viewed bool 是否删除所有已观看的视频 非必要 true删除已观看视频
false不删除已观看视频
默认为false
aid num 删除的目标记录的avid 非必要
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-111csrf校验失败
-400请求错误
message str 错误信息 默认为0
ttl num 1

示例:

删除视频av540580868的稍后再看记录

curl 'https://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 'https://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
}

清空稍后再看视频列表

https://api.bilibili.com/x/v2/history/toview/clear

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
csrf num CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功
-101账号未登录
-111csrf校验失败
message str 错误信息 默认为0
ttl num 1

示例:

清空稍后再看视频列表

curl 'https://api.bilibili.com/x/v2/history/toview/clear' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1
}