diff --git a/danmaku/action.md b/danmaku/action.md index 13bfa8c..7134e5b 100644 --- a/danmaku/action.md +++ b/danmaku/action.md @@ -67,3 +67,46 @@ curl -b "SESSDATA=xxx" -d "type=1&oid=62131&msg=%e5%89%8d%e6%9d%a5%e8%80%83%e5%8 } ``` + + +## 撤回弹幕 + +> http://api.bilibili.com/x/dm/recall + +*方式:POST* + +仅能撤回自己两分钟内的弹幕,且每天只有3次机会 + +需要登录(SESSDATA) + +**参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------------- | ------ | ---- | +| dmid | data | 弹幕ID | 必要 | | +| cid | data | 视频CID | 必要 | | +| csrf | data | cookies中的bili_jct | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-101:账号未登录
-102:账号被封停
-111:csrf校验失败
-400:请求错误
-404:无此项
36301:撤回失败,弹幕发送已过2分钟
36302:撤回失败,弹幕已经被删除或撤回
36303:撤回失败,今天撤回的机会已经用完
**(其他错误码有待补充)** | +| message | str | 错误信息 | 成功后显示剩余次数 | +| ttl | num | 1 | 作用尚不明确 | + +**示例:** + +撤回视频CID为`168901231`弹幕ID为`32310301474947077`的弹幕 + +curl -b "SESSDATA=xxx" -d "dmid=32310301474947077&cid=168901231&csrf=xxx" "http://api.bilibili.com/x/dm/recall" + +```json +{ + "code": 0, + "message": "撤回成功,你还有3次撤回机会" +} +``` + diff --git a/history&toview/play_history.md b/history&toview/play_history.md new file mode 100644 index 0000000..c73ed04 --- /dev/null +++ b/history&toview/play_history.md @@ -0,0 +1,373 @@ +# 播放历史 + +## 查询视频播放历史 + +> http://api.bilibili.com/x/v2/history + +*方式:GET* + +需要登录(SESSDATA) + +**参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------- | ------ | --------- | +| pn | url | 页码 | 非必要 | 默认为1 | +| ps | url | 每页项数 | 非必要 | 默认为100 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ------ | ------------ | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | 作用尚不明确 | +| data | arrary | 历史记录列表 | | + +`data`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------- | ------------------------------------------ | +| 0 | obj | 历史观看1 | | +| n | obj | 历史观看(n+1) | 按照观看顺序排列
项数为总计观看视频数 | +| …… | obj | …… | …… | + +`data`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------------------ | ------------------------------------------------------------ | +| aid | num | 视频avID | | +| videos | num | 视频分P总数 | 默认为1 | +| tid | num | 分区ID | | +| tname | str | 子分区名称 | | +| copyright | num | 版权标志 | 1:自制
2:转载 | +| pic | str | 视频封面图片url | | +| title | str | 视频标题 | | +| pubdate | num | 视频上传时间 | 时间戳 | +| ctime | num | 视频审核通过时间 | 时间戳 | +| desc | str | 视频简介 | | +| state | num | 0 | 作用尚不明确 | +| attribute | num | ??? | 作用尚不明确 | +| duration | num | 视频总计持续时长(所有分P) | 单位为秒 | +| rights | obj | 视频属性标志 | | +| owner | obj | 视频UP主信息 | | +| stat | obj | 视频状态数 | | +| dynamic | str | 视频同步发布的的动态的文字内容 | 无为空 | +| cid | num | 视频1P CID | | +| dimension | obj | 视频1P分辨率 | | +| bangumi | obj | 番剧/影视信息 | 非番剧/影视无此项 | +| cheese | obj | 课程信息 | 非课程无此项 | +| favorite | bool | 是否已收藏 | true:已收藏
false:未收藏 | +| type | num | 视频属性 | 3:普通视频
4:番剧/影视
10:课程 | +| sub_type | num | 附视频属性 | 0:普通视频
1:番剧
2:电影
3:纪录片
4:国创
5:电视剧
7:综艺 | +| device | num | 观看设备 | 1 3 5 7:手机端
2:PC端
4 6:PAD端
33:TV端
0:其他 | +| page | obj | 分P信息 | | +| count | num | 分P数 | 非投稿视频无此项 | +| progress | num | 观看进度 | 单位为秒 | +| view_at | num | 观看时间 | 时间戳 | +| kid | num | 视频avID | | +| business | str | 视频类型标识 | archive:用户投稿视频
pgc:番剧/影视
cheese:课程 | +| redirect_link | str | 重定向url | | +| bvid | str | 视频bvID | | + +`data`数组中的对象中的`rights`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ---------------- | ---------------------------------------- | +| bp | num | 0 | 作用尚不明确 | +| elec | num | 0 | 作用尚不明确 | +| download | num | 允许下载标志 | 0:不允许
1:允许 | +| movie | num | 视频时电影标志 | 0:否
1:是 | +| pay | num | 仅会员可观看标志 | 0:无
1:有 | +| hd5 | num | 有高码率标志 | 0:无
1:有 | +| no_reprint | num | 禁止转载标志 | 0:无
1:禁止 | +| autoplay | num | 可自动播放标志 | 0:无
1:有 区别影视番剧与普通视频 | +| ugc_pay | num | 0 | 作用尚不明确 | +| is_cooperation | num | 视频合作标志 | 0:无
1:是 | +| ugc_pay_preview | num | 0 | 作用尚不明确 | +| no_background | num | 0 | 作用尚不明确 | + +`data`数组中的对象中的`owner`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | -------- | ---- | +| mid | num | UP主UID | | +| name | str | UP主昵称 | | +| face | str | UP主头像 | | + +`data`数组中的对象中的`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`数组中的对象中的`pages`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ---------- | ------------- | +| 0 | obj | 1P内容 | 无分P仅有此项 | +| n | obj | (n+1)P内容 | | +| …… | obj | …… | …… | + +`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`数组中的对象中的`dimension`对象): + +| 字段 | 类型 | 内容 | 备注 | +| ------ | ---- | ------------ | ------------ | +| width | num | 当前分P 宽度 | 可能为0 | +| height | num | 当前分P 高度 | 可能为0 | +| rotate | num | 0 | 作用尚不明确 | + +`data`数组中的对象`bangumi`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | --------------- | ------------ | +| cover | str | 番剧封面图片url | | +| ep_id | num | 番剧epID | | +| episode_status | num | ??? | | +| follow | num | 0 | 作用尚不明确 | +| long_title | str | 单集标题 | | +| season | obj | 剧集信息 | | +| title | str | 集数 | | + +`bangumi`中的`season`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ------------ | ---------------------- | +| is_finish | num | 是否完结 | 0:连载中
1:完结 | +| newest_ep_id | num | 最细一话epID | | +| newest_ep_index | str | 最细一话集数 | | +| season_id | num | 番剧ssID | | +| season_status | num | ??? | | +| season_type | num | ??? | | +| title | str | 番剧标题 | | +| total_count | num | 总集数 | | + +`data`数组中的对象`cheese`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | --------------- | ---- | +| cover | str | 课程封面图片url | | +| long_title | str | 完整标题 | | +| number | str | 本集数 | | +| season_id | num | 课程ssID | | +| update_info | str | 总集数 | | + +**示例:** + +查询当前视频历史记录列表 + +http://api.bilibili.com/x/v2/history?ps=5&pn=1 + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + { + "aid": 96523832, + "videos": 1, + "tid": 33, + "tname": "连载动画", + "copyright": 2, + "pic": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg", + "title": "【1月】异度侵入 ID:INVADED 12【独家正版】", + "pubdate": 1584289800, + "ctime": 1584289800, + "desc": "#12", + "state": 0, + "attribute": 338688, + "duration": 1481, + "redirect_url": "https://www.bilibili.com/bangumi/play/ep307457", + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 1, + "hd5": 1, + "no_reprint": 0, + "autoplay": 0, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "no_background": 0 + }, + "owner": { + "mid": 928123, + "name": "哔哩哔哩番剧", + "face": "http://i1.hdslb.com/bfs/face/7a8412cbacb9fd18f40ddbbf0ad183e45afc1365.jpg" + }, + "stat": { + "aid": 96523832, + "view": 4772927, + "danmaku": 108890, + "reply": 48584, + "favorite": 46, + "coin": 61768, + "share": 290, + "now_rank": 0, + "his_rank": 0, + "like": 1241, + "dislike": 0 + }, + "dynamic": "", + "cid": 164789275, + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + }, + "favorite": false, + "type": 4, + "sub_type": 1, + "device": 3, + "page": { + "cid": 164789275, + "page": 1, + "from": "vupload", + "part": "ID_INVADED_112.encoded", + "duration": 1481, + "vid": "", + "weblink": "", + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + } + }, + "bangumi": { + "ep_id": 307457, + "title": "12", + "long_title": "CHANNELED", + "episode_status": 13, + "follow": 0, + "cover": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg", + "season": { + "season_id": 29310, + "title": "异度侵入 ID:INVADED", + "season_status": 13, + "is_finish": 1, + "total_count": 13, + "newest_ep_id": 307774, + "newest_ep_index": "13", + "season_type": 1 + } + }, + "progress": 277, + "view_at": 1588831600, + "kid": 29310, + "business": "pgc", + "redirect_link": "https://www.bilibili.com/bangumi/play/ep307457", + "bvid": "BV1K7411f7uu" + }, + { + "aid": 497899395, + "videos": 1, + "tid": 189, + "tname": "电脑装机", + "copyright": 1, + "pic": "http://i0.hdslb.com/bfs/archive/fd4e0893b234ee729cf15198065eced98367ebfe.jpg", + "title": "600元的2007款iMac,如今过时了吗?", + "pubdate": 1587727345, + "ctime": 1587708111, + "desc": "苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。如有问题请在评论区指出,谢谢!", + "state": 0, + "attribute": 16768, + "duration": 389, + "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": 3391089, + "name": "数字云糕Official", + "face": "http://i2.hdslb.com/bfs/face/238dfbca5dda5de2d5ba95ee4e99804714e2b5e2.jpg" + }, + "stat": { + "aid": 497899395, + "view": 23325, + "danmaku": 92, + "reply": 115, + "favorite": 195, + "coin": 132, + "share": 23, + "now_rank": 0, + "his_rank": 0, + "like": 555, + "dislike": 0 + }, + "dynamic": "#IMAC##APPLE##MAC# 苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。", + "cid": 182570131, + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + }, + "favorite": false, + "type": 3, + "sub_type": 0, + "device": 3, + "page": { + "cid": 182570131, + "page": 1, + "from": "vupload", + "part": "iMac", + "duration": 389, + "vid": "", + "weblink": "", + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + } + }, + "count": 1, + "progress": -1, + "view_at": 1588828357, + "kid": 497899395, + "business": "archive", + "redirect_link": "https://www.bilibili.com/video/av497899395", + "bvid": "BV1NK41157EF" + } + ] +} +``` + diff --git a/video/info.md b/video/info.md index db8f352..80a172c 100644 --- a/video/info.md +++ b/video/info.md @@ -42,7 +42,7 @@ | ctime | num | 视频审核通过时间 | 时间戳 | | desc | str | 视频简介 | | | state | num | 0 | 作用尚不明确 | -| attribute | num | | 作用尚不明确 | +| attribute | num | ??? | 作用尚不明确 | | duration | num | 视频总计持续时长(所有分P) | 单位为秒 | | mission_id | num | 视频参与的活动ID | 无为0 | | redirect_url | str | 重定向url | 用于番剧&影视的av->ep | @@ -107,7 +107,7 @@ | n | obj | (n+1)P内容 | | | …… | obj | …… | …… | -数组`pages`中的对象: +`pages`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | --------- | ---- | --------------- | ------------------------------------ | @@ -120,7 +120,7 @@ | weblink | str | 空 | 作用尚不明确 | | dimension | obj | 当前分P分辨率 | | -数组`pages`中的对象中的`dimension`对象:(同`data`中的`dimension`对象) +`pages`数组中的对象中的`dimension`对象(同`data`中的`dimension`对象): | 字段 | 类型 | 内容 | 备注 | | ------ | ---- | ------------ | ------------ | @@ -143,7 +143,7 @@ | n | obj | 字幕(n+1) | | | …… | obj | …… | …… | -数组`list`中的对象: +`list`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | ------------------- | ---- | @@ -155,7 +155,7 @@ | subtitle_url | str | json格式字幕文件url | | | author | obj | 字幕上传者信息 | | -数组`list`中的对象中的`author`对象: +`list`数组中的对象中的`author`对象: | 字段 | 类型 | 内容 | 备注 | | --------------- | ---- | ----------------- | ------------ | @@ -177,7 +177,7 @@ | n | obj | 合作成员(n+1) | | | …… | obj | …… | …… | -数组`staff`中的对象: +`staff`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | -------------- | ---- | @@ -189,7 +189,7 @@ | official | obj | 成员认证信息 | | | follower | num | 成员粉丝数 | | -数组`staff`中的对象中的`vip`对象: +`staff`数组中的对象中的`vip`对象: | 字段 | 类型 | 内容 | 备注 | | ---------- | ---- | ------------ | ----------------------------------- | @@ -197,7 +197,7 @@ | status | num | 会员状态 | 0:无
1:有 | | theme_type | num | 0 | | -数组`staff`中的对象中的`official`对象: +`staff`数组中的对象中的`official`对象: | 字段 | 类型 | 内容 | 备注 | | ----- | ---- | ------------ | ----------------------------------------------- |