From a92ffe2b67b3feae0c296cb7fa99664adc866d82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=9F=BF=E4=BA=95=E5=B0=8F=E5=B8=95=E7=9A=84=E8=A1=80?=
=?UTF-8?q?=E5=B0=8F=E6=9D=BF?=
<61276297+MineCreeper86@users.noreply.github.com>
Date: Sun, 22 Nov 2020 15:31:27 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AC=94=E8=AE=B0=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3API=20(#100)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* note开始编写
* Update info.md
* Update info.md
* 更改文件名并且完善
* Delete a.json
* 更新并修改【提交笔记】及【删除笔记】
Co-authored-by: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
---
README.md | 6 ++-
note/action.md | 131 +++++++++++++++++++++++++++++++++++++++++++++++++
note/readme.md | 71 +++++++++++++++++++++++++++
3 files changed, 207 insertions(+), 1 deletion(-)
create mode 100644 note/action.md
create mode 100644 note/readme.md
diff --git a/README.md b/README.md
index 9a04b51..3b0892a 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,11 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
- 高级弹幕
- 屏蔽管理
- 智能防挡弹幕
- - [弹幕个人配置修改](danmaku/config.md)√
+ - [弹幕个人配置修改](danmaku/config.md)
+- [视频笔记](note)×
+ - 笔记列表
+ - 笔记详细信息
+ - [笔记操作](note/action.md)√
- [专栏](article)
- 分区
- [基本信息](article/info.md)×
diff --git a/note/action.md b/note/action.md
new file mode 100644
index 0000000..ab54639
--- /dev/null
+++ b/note/action.md
@@ -0,0 +1,131 @@
+# 笔记操作
+
+- [保存视频笔记](#保存视频笔记)
+- [删除视频笔记](#删除视频笔记)
+
+---
+
+## 保存视频笔记
+
+> http://api.bilibili.com/x/note/add
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
+| aid | num | 目标稿件avID | 必要 | |
+| note_id | num | 笔记ID | 非必要 | 创建时无需此项 |
+| title | str | 笔记标题 | 必要 | |
+| summary | str | 笔记预览文本 | 必要 | |
+| content | str | 笔记正文json序列 | 必要 | 格式见[附表](readme.md#附表-笔记正文序列格式) |
+| tags | str | | 非必要 | 作用尚不明确 |
+| cls | num | 1 | 非必要 | 作用尚不明确 |
+| from | str | 提交类型 | 非必要 | auto:自动提交
save:手动提交
close:关闭时自动提交 |
+| csrf | str | CSRF Token(位于cookie) | 必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误
-79508:该稿件已存在笔记,无法新增 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 数据本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | ------------ | ---- |
+| note_id | num | 笔记ID | |
+
+**示例:**
+
+保存内容为加粗的STRONG的笔记`3809605586518023`于`av970322090`
+
+```shell
+curl 'http://api.bilibili.com/x/note/add' \
+--data-urlencode 'aid=970322090' \
+--data-urlencode 'note_id=3809605586518023'
+--data-urlencode 'title=周刊哔哩哔哩排行榜#543'
+--data-urlencode 'summary=STRONG'
+--data-urlencode 'content=[{"attributes":{"bold":true},"insert":"STRONG"},{"insert":"\n"}]'
+--data-urlencode 'tags='
+--data-urlencode 'cls=1'
+--data-urlencode 'from=save'
+--data-urlencode 'csrf=xxx'
+-b 'SESSDATA=xxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "note_id": 3809605586518023
+ }
+}
+```
+
+
+
+## 删除视频笔记
+
+> http://api.bilibili.com/x/note/del
+
+*请求方式:POST*
+
+认证方式:Cookie(SESSDATA)
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------- | ---- | ------------------------ | ------ | ---- |
+| aid | num | 目标稿件avID | 必要 | |
+| note_id | num | 笔记ID | 非必要 | |
+| csrf | str | CSRF Token(位于cookie) | 必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-111:csrf校验失败
-400:请求错误 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+
+**示例:**
+
+删除稿件`av457253380`下的笔记`4075968478576647`
+
+```shell
+curl 'http://api.bilibili.com/x/note/add' \
+--data-urlencode 'aid=457253380' \
+--data-urlencode 'note_id=4075968478576647' \
+--data-urlencode 'csrf=xxx'
+-b 'SESSDATA=xxx'
+```
+
+
+查看响应示例:
+
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1
+}
+```
+
+
\ No newline at end of file
diff --git a/note/readme.md b/note/readme.md
new file mode 100644
index 0000000..b68941f
--- /dev/null
+++ b/note/readme.md
@@ -0,0 +1,71 @@
+# 视频笔记
+
+2020-11-16 B站推出了测试版的功能——"视频笔记",与视频稿件关联,为富文本模式,可供记录观看视频时的感悟以及视频中的重要内容,目前只可在web端操作
+
+---
+
+继续查看:
+
+- 笔记列表
+- 笔记详细信息
+- [笔记操作](action.md)√
+
+---
+
+## 附表-笔记正文序列格式
+
+根数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ------------- | ---- |
+| 0 | obj | 第1个元素 | |
+| n | obj | 第(n+1)个元素 | |
+| …… | obj | …… | …… |
+
+根数组中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ---- | ------------ | ------------------- |
+| attributes | obj | 元素属性 | 无属性无此项 |
+| insert | str | 元素内容 | 为跳转/图片时无此项 |
+| insert | obj | 元素跳转信息 | 非跳转/图片时无此项 |
+
+对象中的`attributes`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---------- | ---- | ---------- | ------------------------------ |
+| bold | bool | 是否加粗 | |
+| strike | bool | 是否删除线 | |
+| underline | bool | 是否下划线 | |
+| background | str | 背景颜色 | |
+| color | str | 文字颜色 | |
+| list | str | 列表属性 | ordered有序列表/bullet无序列表 |
+| size | str | 文字字号 | |
+
+对象中的`insert`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ----------- | ---- | -------- | ------ |
+| tag | obj | 跳转标签 | 二选一 |
+| imageUpload | obj | 笔记图片 | 二选一 |
+
+`insert`中的`tag`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------- | ---- | ----------------- | ------------ |
+| cid | num | 视频cid | |
+| status | num | 0 | 作用尚不明确 |
+| index | num | 在稿件中的分P索引 | |
+| seconds | num | 视频进度 | |
+| cidCount | num | 稿件总分P数 | |
+| key | str | 标签创建时间戳 | |
+| title | str | output | 作用尚不明确 |
+
+`insert`中的`imageUpload`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------ | ---- | ---------- | ------------ |
+| url | str | 图片链接 | |
+| status | str | done | 作用尚不明确 |
+| width | num | 图片宽度-2 | |
+