bilibili-API-collect icon indicating copy to clipboard operation
bilibili-API-collect copied to clipboard

补充关于动态的API

Open DGCK81LNN opened this issue 4 years ago • 3 comments

本人之前整理过一些API,现在存在一个已经弃用的博客站上:https://www.mywiki.cn/dgck81lnn/index.php/哔哩哔哩API详解。看到这个仓库目前似乎还没有整理关于查询动态的API就整理了一部分过来。关于card对象的那部分太多了,只整理了几个。

其中还有很多地方不够详细,需要补充,所以就没发pr。

目录

  • 动态详情对象
  • 动态详情对象中的card
    • 转发动态
    • 相簿投稿(图片动态)
    • 文本动态
    • 视频投稿
  • 查询动态详情
  • 个人空间-动态
展开全文

动态详情对象

字段 类型 内容 备注
card str 动态详情的JSON 见下文
desc obj 动态的元数据
display obj 可能是关于自己和动态发布者是否互相关注的信息
extend_json str 附加信息的JSON 内容待补充

card中的desc对象:

字段 类型 内容 备注
uid num 发布者的UID
type num 动态类型 参见下表
rid num 疑似为评论区的OID
rid_str str 字符串形式的rid
acl num
view num 阅读数
repost num 转发数
comment num 评论数
like num 点赞数
is_liked num
dynamic_id num 动态号
dynamic_id_str str 字符串形式的动态号 可能是由于JS用双精度浮点存储数字,18位的动态号将不能精确到个位,故提供字符串形式
timestamp num 发布时间戳(秒)
pre_dy_id num
pre_dy_id_str str
orig_dy_id num 如果是转发动态,所转发动态的ID
orig_dy_id_str str 字符串形式的orig_dy_id
orig_type num 如果是转发动态,所转发动态的类型 参见下表
user_profile obj 发布者信息 内容待补充
uid_type num 1 作用尚不明确
stype num 0 作用尚不明确
r_type num 1 作用尚不明确
inner_id num 0 作用尚不明确
status num 1 作用尚不明确

desc中的typeorig_type

含义 举例
1 转发动态 355295470145652823
2 相册投稿 351782199784737587
4 文字动态 371794999330051793
8 视频投稿 355292278981797225
16 VC小视频投稿
64 专栏投稿 334997154054634266
128
256 音频投稿 352216850471547670
512 番剧更新 433040940915592171
1024
2048 分享歌单 325805722180163707
4300 (只能被转发,不能单独查询)视频收藏夹 485549634823272700

也许还有更多可能的值。

动态详情对象中的card

不同类型的动态,此项格式也不同。

转发动态

字段 类型 内容 备注
user obj 转发者信息
item obj 转发动态的详情
origin str 被转发动态的cardJSON
origin_user obj 被转发动态的发布者信息 内容待补充

user对象:

字段 类型 内容
uid num UID
uname str 昵称
face str 头像URL

item对象:

字段 类型 内容
rp_id num 动态号
uid num 转发者UID
content string 文字内容
orig_dy_id num 被转发动态号
timestamp num 转发时间
reply num 评论数
orig_type num 被转发动态类型

相簿投稿(图片动态)

字段 类型 内容
item obj 详情
user obj 发布者信息

item对象:

字段 类型 内容
id num 相簿投稿号
description str 简介
pictures array 图片列表
pictures_count num 图片数量
upload_time num 发布时间戳
reply num 评论数

item中的pictures中的每个对象:

字段 类型 内容
img_src str 图片URL
img_width num 图片宽度
img_height num 图片高度

user对象:

字段 类型 内容 备注
uid num UID
head_url str 头像
name str 昵称
card obj 包含官方认证信息 内容待补充
vip obj 大会员信息 内容待补充

文本动态

字段 类型 内容 备注
user obj 转发者信息
item obj 转发动态的详情

user对象:

字段 类型 内容
uid num UID
uname str 昵称
face str 头像URL

item对象:

字段 类型 内容
rp_id num 动态号
content string 文字内容
timestamp num 转发时间
reply num 评论数

视频投稿

(以下字段可能不全,需补充)

字段 类型 内容 备注
aid num AV号
copyright num 类型 1:自制 2:转载
desc str 视频简介
duration num 时长
dynamic str 动态内容
owner obj UP主信息
pic str 封面URL
pubdate num 发布日期
stat obj 统计信息
title str 视频标题
tname num 视频分区
videos num 分P数

owner对象:

字段 类型 内容
face str 头像URL
mid num UID
name str 昵称

stat对象:

字段 类型 内容
coin num 硬币数
danmaku num 弹幕数
favorite num 收藏数
like num 点赞数
reply num 评论数
share num 转发数
view num 播放数

查询动态详情

https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail

url参数:

字段 类型 内容 必要性 备注
dynamic_id num 动态ID 必要 18位数

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
message str 错误信息
msg str 错误信息
data obj 信息本体

data对象:

字段 类型 内容 备注
card obj 动态详情对象
result num 0 作用尚不明确
attentions array 很多个UID 作用尚不明确
_gt_ num 0 作用尚不明确

个人空间-动态

https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history

url参数:

字段 类型 内容 必要性 备注
host_uid num UID 必要
offset_dynamic_id num 从哪条开始(动态号) 不必要 0或省略表示从最新的开始
need_top num 是否包含置顶动态 不必要 1=包含(默认),0=不包含

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
message str 错误信息
msg str 错误信息
data obj 信息本体

data对象:

字段 类型 内容 备注
cards array 一系列的动态详情对象
has_more bool 是否还有下一页
next_offset num 下一页第一条的动态号
_gt_ num 0 作用尚不明确
Markdown源码
## 动态详情对象

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
card | str | 动态详情的JSON | 见下文
desc | obj | 动态的元数据
display | obj | | 可能是关于自己和动态发布者是否互相关注的信息
extend_json | str | 附加信息的JSON | **内容待补充**

`card`中的`desc`对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
uid | num | 发布者的UID
type | num | 动态类型 | 参见下表
rid | num | 疑似为评论区的OID
rid_str | str | 字符串形式的`rid`
acl | num | ?
view | num | 阅读数
repost | num | 转发数
comment | num | 评论数
like | num | 点赞数
is_liked | num | ?
dynamic_id | num | 动态号
dynamic_id_str | str | 字符串形式的动态号 | 可能是由于JS用双精度浮点存储数字,18位的动态号将不能精确到个位,故提供字符串形式
timestamp | num | 发布时间戳(秒)
pre_dy_id | num | ?
pre_dy_id_str | str | ?
orig_dy_id | num | 如果是转发动态,所转发动态的ID
orig_dy_id_str | str | 字符串形式的`orig_dy_id`
orig_type | num | 如果是转发动态,所转发动态的类型 | 参见下表
user_profile | obj | 发布者信息 | **内容待补充**
uid_type | num | 1 | **作用尚不明确**
stype | num | 0 | **作用尚不明确**
r_type | num | 1 | **作用尚不明确**
inner_id | num | 0 | **作用尚不明确**
status | num | 1 | **作用尚不明确**

`desc`中的`type`和`orig_type`:

值 | 含义 | 举例
-- | -- | --
1 | 转发动态 | 355295470145652823
2 | 相册投稿 | 351782199784737587
4 | 文字动态 | 371794999330051793
8 | 视频投稿 | 355292278981797225
16 | VC小视频投稿 | 
64 | 专栏投稿 | 334997154054634266
128 | ? | 
256 | 音频投稿 | 352216850471547670
512 | 番剧更新 | 433040940915592171
1024 | ? |
2048 | 分享歌单 | 325805722180163707
4300 | (只能被转发,不能单独查询)视频收藏夹 | 485549634823272700

也许还有更多可能的值。

## 动态详情对象中的`card`

不同类型的动态,此项格式也不同。

### 转发动态

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
user | obj | 转发者信息
item | obj | 转发动态的详情
origin | str | 被转发动态的`card`JSON
origin_user | obj | 被转发动态的发布者信息 | **内容待补充**

`user`对象:

字段 | 类型 | 内容
-- | -- | --
uid | num | UID
uname | str | 昵称
face | str | 头像URL

`item`对象:

字段 | 类型 | 内容
-- | -- | --
rp_id | num | 动态号
uid | num | 转发者UID
content | string | 文字内容
orig_dy_id | num | 被转发动态号
timestamp | num | 转发时间
reply | num | 评论数
orig_type | num | 被转发动态类型

### 相簿投稿(图片动态)

字段 | 类型 | 内容
-- | -- | --
item | obj | 详情
user | obj | 发布者信息

`item`对象:

字段 | 类型 | 内容
-- | -- | --
id | num | 相簿投稿号
description | str | 简介
pictures | array | 图片列表
pictures_count | num | 图片数量
upload_time | num | 发布时间戳
reply | num | 评论数

`item`中的`pictures`中的每个对象:

字段 | 类型 | 内容
-- | -- | --
img_src | str | 图片URL
img_width | num | 图片宽度
img_height | num | 图片高度

`user`对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
uid | num | UID
head_url | str | 头像
name | str | 昵称
card | obj | 包含官方认证信息 | **内容待补充**
vip | obj | 大会员信息 | **内容待补充**

### 文本动态

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
user | obj | 转发者信息
item | obj | 转发动态的详情

`user`对象:

字段 | 类型 | 内容
-- | -- | --
uid | num | UID
uname | str | 昵称
face | str | 头像URL

`item`对象:

字段 | 类型 | 内容
-- | -- | --
rp_id | num | 动态号
content | string | 文字内容
timestamp | num | 转发时间
reply | num | 评论数

### 视频投稿

(以下字段可能不全,需补充)

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
aid | num | AV号
copyright | num | 类型 | 1:自制 2:转载
desc | str | 视频简介
duration | num | 时长
dynamic | str | 动态内容
owner | obj | UP主信息
pic | str | 封面URL
pubdate | num | 发布日期
stat | obj | 统计信息
title | str | 视频标题
tname | num | 视频分区
videos | num | 分P数

`owner`对象:

字段 | 类型 | 内容
-- | -- | --
face | str | 头像URL
mid | num | UID
name | str | 昵称

`stat`对象:

字段 | 类型 | 内容
-- | -- | --
coin | num | 硬币数
danmaku | num | 弹幕数
favorite | num | 收藏数
like | num | 点赞数
reply | num | 评论数
share | num | 转发数
view | num | 播放数

## 查询动态详情

  > https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail

**url参数:**

字段 | 类型 | 内容 | 必要性 | 备注
-- | -- | -- | -- | --
dynamic_id | num | 动态ID | 必要 | 18位数

**json回复:**

根对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
code | num | 返回值 | 0:成功
message | str | 错误信息
msg | str | 错误信息
data | obj | 信息本体

`data`对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
card | obj | [动态详情对象](#动态详情对象)
result | num | 0 | **作用尚不明确**
attentions | array | 很多个UID | **作用尚不明确**
\_gt_ | num | 0 | **作用尚不明确**

## 个人空间-动态

  > https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history

**url参数:**

字段 | 类型 | 内容 | 必要性 | 备注
-- | -- | -- | -- | --
host_uid | num | UID | 必要
offset_dynamic_id | num | 从哪条开始(动态号) | 不必要 | 0或省略表示从最新的开始
need_top | num | 是否包含置顶动态 | 不必要 | 1=包含(默认),0=不包含

**json回复:**

根对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
code | num | 返回值 | 0:成功
message | str | 错误信息
msg | str | 错误信息
data | obj | 信息本体

`data`对象:

字段 | 类型 | 内容 | 备注
-- | -- | -- | --
cards | array | 一系列的[动态详情对象](#动态详情对象)
has_more | bool | 是否还有下一页
next_offset | num | 下一页第一条的动态号
\_gt_ | num | 0 | **作用尚不明确**

DGCK81LNN avatar Jan 29 '21 04:01 DGCK81LNN

其实可以先开个branch慢慢施工的叭QAQ或者懒得改的话可以先pr过来让大家一起弄

还有像desc中的typeorig_type这种还是列附表方便

MineCreeper86 avatar Jan 29 '21 05:01 MineCreeper86

也是哦👍,过两天我再搞一下。

DGCK81LNN avatar Jan 29 '21 14:01 DGCK81LNN

返回的json数据中,attentions下的多个uid是你自己B站账号关注的所有up的uid

bugroom avatar Mar 07 '21 04:03 bugroom