🚀调整项目结构

This commit is contained in:
SocialSisterYi
2023-02-22 01:00:06 +08:00
parent b85e835ce7
commit 7d89ece2ac
201 changed files with 84964 additions and 0 deletions

View File

@@ -0,0 +1,367 @@
# 仲裁操作
- [申请加入风纪委员会](#申请加入风纪委员会)
- [拉取新案件](#拉取新案件)
- [进行仲裁投票](#进行仲裁投票)
---
## 申请加入风纪委员会
> https://api.bilibili.com/x/credit/v2/jury/apply
*请求方式POST*
认证方式Cookie
只有用户会员90天内无违规、实名认证且非封禁状态才可以申请加入风纪委员会
申请成功后可获得30天资格
**正文参数( application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 |
| ------ | ---- | ---------------------- | ------ |
| csrf | str | cookie中`bili_jct`的值 | 必要 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------ | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-111csrf 校验失败<br />25001申请等级限制(会员等级<3)<br />25002没有实名认证<br />2500390天内有封禁记录<br />25013不能重复申请风纪委资格<br />25016当日风纪委员名额已发完 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>
#### 旧API
<details>
<summary>查看旧版API</summary>
> https://api.bilibili.com/x/credit/jury/apply
*请求方式POST*
认证方式CookieSESSDATA或APP
只有用户会员等级≥Lv4、90天内无违规、实名认证且非封禁状态才可以申请加入风纪委员会
每日10:00开放新名额
申请成功后可获得30天资格
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------ | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-111csrf 校验失败<br />25001申请等级限制(会员等级<3)<br />25002没有实名认证<br />2500390天内有封禁记录<br />25013不能重复申请风纪委资格<br />25016当日风纪委员名额已发完 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
**示例:**
Cookie方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/apply' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/apply' \
--data-urlencode 'access_key=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>
</details>
## 拉取新案件
> https://api.bilibili.com/x/credit/v2/jury/case/next
*请求方式GET*
认证方式Cookie
**标头参数Headers**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------ | ------ | ---- |
| Cookie | str | Cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br/>25006风纪委员资格已过期<br />25008没有案件<br/>25014已审满 |
| message | str | 信息 | 默认为0当code不为0时显示错误信息 |
| ttl | num | 1 | 作用尚不明确 |
| data | object | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ---------- | ---- |
| case_id | str | 仲裁案件id | |
**示例:**
Cookie方式
```shell
curl -G 'https://api.bilibili.com/x/credit/v2/jury/case/next' \
--header 'cookie: XXXXX'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"case_id": "AC2m4HlrIrHv"
}
}
```
</details>
#### 旧API
<details>
<summary>查看旧版API</summary>
> https://api.bilibili.com/x/credit/jury/caseObtain
*请求方式POST*
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br/>25005不是风纪委员<br />25008没有案件<br/>25014已审满 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | object | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------- | ---- |
| id | num | 仲裁案件id | |
**示例:**
Cookie方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/caseObtain' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/caseObtain' \
--data-urlencode 'access_key=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"id": 1239790
}
}
```
</details>
</details>
## 进行仲裁投票
> https://api.bilibili.com/x/credit/v2/jury/vote
*请求方式POST*
认证方式Cookie
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| --------- | ---- | ---------------------- | ------ | ----------------------------------------------------- |
| case_id | str | 案件id | 必要 | |
| vote | num | 投票类型 | 必要 | 见「[众裁信息](judgement_info.md)」中表 |
| insiders | num | 是否观看此类视频 | 非必要 | 默认值为0<br/>见「[众裁信息](judgement_info.md)」中表 |
| content | str | 理由 | 非必要 | |
| anonymous | num | 是否匿名 | 非必要 | 默认值为0<br/>0不匿名<br />1匿名 |
| csrf | str | cookie中`bili_jct`的值 | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------ | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br/>-101未登录<br />-111csrf 错误<br />-400请求错误投票类型错误<br />25005不是风纪委员<br />25011投票类型错误<br />25018不能进行此操作<br/><br/>*注:新版本对于一个不存在的`case_id`,不会报错。* |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>
#### 旧API
<details>
<summary>查看旧版API</summary>
> https://api.bilibili.com/x/credit/jury/vote
*请求方式POST*
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------- | ---- | ------------------------ | -------------- | --------------------------------------- |
| cid | num | 案件id | 必要 | |
| vote | num | 投票类型 | 必要 | 见「[众裁信息](judgement_info.md)」中表 |
| content | str | 理由 | 非必要 | 见「[众裁信息](judgement_info.md)」中表 |
| likes | nums | 支持的观点 | 非必要 | |
| hates | nums | 反对的观点 | 非必要 | |
| attr | num | 是否匿名 | 非必要 | 0匿名<br />1不匿名 |
| apply_type | num | 是否更改原因 | 非必要 | 0保持原来原因<br />1投票给新原因 |
| origin_reason | num | 原始原因 | 非必要 | 见「封禁公示」中表 |
| apply_reason | num | 新原因 | 非必要 | 见「封禁公示」中表 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ------ | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br/>-101未登录<br />-111csrf 错误<br />-400请求错误投票类型错误<br />25005不是风纪委员<br />25009 案件不存在<br/>25011投票类型错误<br />25012重复投票 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
**示例:**
为案件`2333`投票,建议封禁,无理由,不匿名,无支持/反对观点,不修改投票原因
Cookie方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/vote' \
--data-urlencode 'cid=2333' \
--data-urlencode 'vote=1' \
--data-urlencode 'content=' \
--data-urlencode 'likes=' \
--data-urlencode 'hates=' \
--data-urlencode 'attr=1' \
--data-urlencode 'apply_type=0' \
--data-urlencode 'origin_reason=' \
--data-urlencode 'apply_reason=' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/vote' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'cid=2333' \
--data-urlencode 'vote=1' \
--data-urlencode 'content=' \
--data-urlencode 'likes=' \
--data-urlencode 'hates=' \
--data-urlencode 'attr=1' \
--data-urlencode 'apply_type=0' \
--data-urlencode 'origin_reason=' \
--data-urlencode 'apply_reason='
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>
</details>

View File

@@ -0,0 +1,338 @@
# 风纪委员会用户基本信息
- [基本数据](#基本数据)
- [统计信息](#统计信息)
- [新API2021年10月任期之后](#新api2021年10月任期之后)
- [旧API](#旧api)
- [检查申请风纪委员会资格](#检查申请风纪委员会资格)
---
## 基本数据
> https://api.bilibili.com/x/credit/v2/jury/jury
_请求方式GET_
认证方式CookieSESSDATA或 APP
**url 参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ---- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
**json 回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 信息 | 默认为 0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | ------------ | -------------------------------------------------------------------------------------------------- |
| allow_apply | bool | true | 尚不明确(用户从未担任风纪委员时也为 true |
| apply_status | num | 任期审核状态 | -1 资格失效,且未申请<br />0 刚申请连任时<br />5 申请后,等待审核<br />3 申请连任成功status 为 1 |
| case_total | num | 总众裁数 | |
| err_msg | str | 空 | 尚不明确 |
| face | str | 用户头像 url | |
| status | num | 当前资格状态 | 0 未曾拥有资格<br />1 任期内<br />2 资格失效 |
| term_end | num | 任期结束时间 | 时间戳(秒级),无任期时为 0 |
| uname | str | 用户昵称 | |
**旧API**
部分字段信息停留在 2021 年 10 月。
<details>
<summary>查看旧 api</summary>
> https://api.bilibili.com/x/credit/jury/jury (旧)
根数据与新 API 一致,`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | -------------------- | ---------------------------- |
| caseTotal | num | 总众裁数 | |
| face | str | 用户头像 url | |
| restDays | num | 当前资格剩余天数 | 自 2021 年 10 月起,固定为 0 |
| rightRadio | num | 当前裁决正确率百分比 | 裁决数小于 3 时固定为 50 |
| status | num | 当前状态 | 1具有资格<br />2资格失效 |
| uname | str | 用户昵称 | |
</details>
## 统计信息
#### 新API2021年10月任期之后
>https://api.bilibili.com/x/credit/v2/jury/kpi
*方式GET*
认证方式Cookie
***备注**该api只收录2021年10月开始风纪委员改版之后的数据且每次只返回一次任期的数据。*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------- | ---- | ------- | ------------ | -------------------------------------- |
| term_id | num | 任期 id | 可不传此参数或将值留空或设为`0` | 未传参或留空时,**只**返回最近一次已结束的任期的数据 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />25018不能进行此操作还没有成为新风纪委员或传入了不属于你的`term_id` |
| message | str | 信息 | 默认为 0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 项 | 类型 | 内容 | 备注 |
| --------------- | ------ | ------------------ | ------------------------------------------------------------ |
| mid | num | 用户 UID | |
| uname | str | 留空 | |
| face | str | 留空 | |
| term_id | num | 任期 ID | 未传入`term_id`返回的是最近一次已结束的任期的id |
| term_start | num | 任期开始时间 | 时间戳,精确到秒 |
| term_end | num | 任期结束时间 | 时间戳,精确到秒 |
| case_total | num | 任内总投票数 | |
| active_days | num | 活跃天数 | |
| like_num | num | 发表观点,被点赞数 | |
| accuracy_rate | num | 投中率 | 所选观点与大多数风纪委员一致,记为一次“投中” |
| pass | num | 任期是否合格 | 0 不合格<br />1 合格 |
| status | num | 当前资格状态 | 0 未曾拥有资格<br />1 任期内<br />2 资格失效 |
| apply_status | num | 当前资格申请状态 | -1 资格失效,且未申请<br />0 刚申请连任时<br />5 申请后,等待审核<br />3 申请连任成功status 为 1 |
| prev_term_id | num | 上一任期的任期 ID | 新版风纪委员启用后的第一个任期,此项的值为 0 |
| next_term_id | num | 下一任期的任期 ID | 若当前任期尚未结束,此项的值为 0 |
| rewards | object | 任期奖励 | 有`pendant``coin`两个子项 |
| rewards.pendant | num | 头像挂件礼包 ID | 合格后一般为 1不合格为 0 |
| rewards.coin | num | 硬币礼包 ID | 合格后一般为 3不合格为 0 |
<details>
<summary>查看响应示例:</summary>
注:本示例未传入`term_id`,返回的是最近一次已结束任期的统计结果
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 10001,
"uname": "",
"face": "",
"term_id": 300009,
"term_start": 1669100000,
"term_end": 1671690000,
"case_total": 591,
"active_days": 30,
"like_num": 0,
"accuracy_rate": 74,
"pass": 1,
"status": 1,
"apply_status": 3,
"prev_term_id": 300007,
"next_term_id": 0,
"rewards": {
"pendant": 1,
"coin": 3
}
}
}
```
</details>
#### 旧API
<details>
<summary>查看旧 api</summary>
> https://api.bilibili.com/x/credit/jury/kpi (旧)
*方式GET*
认证方式CookieSESSDATA或APP
***备注**该api只统计到2021年9月任期风纪委员改版之前。风纪委员改版之后的数据未收录*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | array | 数据本体 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------- | ---- |
| 0 | obj | 第1个月统计 | |
| n | obj | 第n+1个月统计 | |
| …… | obj | …… | …… |
`data` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------------------------------- | --------------------- |
| id | num | 0 | |
| mid | num | 用户id | |
| number | num | 风纪委员编号 | |
| day | num | 数据生成时间(也是任期结束时间) | 时间戳,精确到秒 |
| rate | num | 任期完成度 | 1=A2=S3=S+4=S++ |
| rank | num | 尚不明确 | |
| rankper | num | 尚不明确 | |
| rankTotal | num | 尚不明确 | |
| point | num | 32767 | |
| activeDays | num | 活跃天数 | |
| voteTotal | num | 投票总数 | |
| voteRadio | num | 投中率 | |
| blockedTotal | num | 尚不明确 | |
| termStart | num | 任期开始时间 | 时间戳,精确到秒 |
| termEnd | num | 任期结束时间(数据生成时间一致) | 时间戳,精确到秒 |
| opinion_likes | num | 观点获赞 | |
**示例:**
Cookie方式
```shell
curl 'https://api.bilibili.com/x/credit/jury/kpi' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/kpi' \
--data-urlencode 'access_key=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"id": 0,
"mid": 114343368,
"number": 199046,
"day": 1539792000,
"rate": 1,
"rank": 0,
"rankper": 1,
"rankTotal": 39584,
"point": 32767,
"activeDays": 23,
"voteTotal": 422,
"voteRadio": 0,
"blockedTotal": 0,
"termStart": 1537200000,
"termEnd": 1539792000,
"opinion_likes": 18
}
]
}
```
</details>
</details>
## 检查申请风纪委员会资格
> ~~https://api.bilibili.com/x/credit/jury/requirement~~ (旧版)
> https://api.bilibili.com/x/credit/v2/jury/requirement (新版)
*请求方式GET*
认证方式CookieSESSDATA或APP
新版 api 与旧版的区别仅在新版没有 `level` 字段(新版风纪委员没有等级限制)。
只有用户~~会员等级≥Lv4、~~ 90 天内无违规、实名认证且非封禁状态才可以申请加入风纪委员会。
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | ---------------- | ------------------------------------- |
| blocked | bool | 是否被封禁 | true<br />false<br />**下同** |
| cert | bool | 是否实名认证 | |
| level | bool | 等级是否>=4 | 新版无该字段 |
| rule | bool | 是否90天内无违规 | |
**示例:**
Cookie方式
```shell
curl 'https://api.bilibili.com/x/credit/v2/jury/requirement' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl -G 'https://api.bilibili.com/x/credit/v2/jury/requirement' \
--data-urlencode 'access_key=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"blocked": false,
"cert": true,
"rule": true
}
}
```
</details>

View File

@@ -0,0 +1,998 @@
# 众裁信息
- [查询投票过的单个案件](#查询投票过的单个案件)
- [查询案件众裁信息](#查询案件众裁信息)
- [查询我的众裁记录](#查询我的众裁记录)
- [获取众议观点](#获取众议观点)
---
<table>
<tr>
<th colspan="3">投票类型码总览</th>
</tr >
<tr>
<td>代码</td>
<td>含义</td>
</tr>
<tr>
<td >0</td>
<td>未投票</td>
</tr>
<tr>
<td >1</td>
<td>封禁</td>
</tr>
<tr>
<td>2</td>
<td></td>
</tr>
<tr>
<td>3</td>
<td>弃权</td>
</tr>
<tr>
<td>4</td>
<td>删除</td>
</tr>
</table>
<table>
<tr>
<th colspan="3">投票选项码总览</th>
</tr >
<tr>
<td >任务类型</td>
<td>代码</td>
<td>含义</td>
</tr>
<tr >
<td rowspan="4">单条评论(弹幕)</td>
<td >1</td>
<td>合适</td>
</tr>
<tr>
<td>2</td>
<td>一般</td>
</tr>
<tr>
<td>3</td>
<td>不合适</td>
</tr>
<tr>
<td>4</td>
<td>无法判断</td>
</tr>
<tr>
<td rowspan="4">评论(弹幕)氛围</td>
<td>11</td>
<td></td>
</tr>
<tr>
<td>12</td>
<td>一般</td>
</tr>
<tr>
<td>13</td>
<td></td>
</tr>
<tr>
<td>14</td>
<td>无法判断</td>
</tr>
</table>
## 查询投票过的单个案件
> https://api.bilibili.com/x/credit/v2/jury/case/info
*请求方式GET*
认证方式CookieSESSDATA或APP
可查询任意案件,无论自己是否参与投票。
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ------------ | ------ | ------------- | ------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| case_id | str | 案件id | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | -------- | ------------ |
| case_id | str | 案件id | |
| case_type | num | 任务类型 | 1单条评论<br />2评论氛围<br />3单条弹幕<br />4弹幕氛围 |
| jury_state | num | `1` | 改版后未见过其它值 |
| participate | num | 是否投票 | 0未投票<br />1已投票 |
| vote_items | object | 投票选项 | 见开头「投票选项码总览」 |
| default_vote | num | 默认投票选项 | `4``14``无法判断` |
| status | num | 裁决状态(新版) | 0进行中<br />1已结束 |
| origin_start | num | 案件关联视频,播放进度条起始坐标 | 单位:`秒` |
| avid | num | 视频av号 | |
| cid | num | 弹幕池id | 弹幕相关参见「[xml弹幕](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/danmaku/danmaku_xml.md)」 |
| vote_cd | num | `-1` | 暂不明确 |
| result | num | 众议结论 | 见开头「投票选项码总览」 |
| result_text | str | 众议结论文本 | |
| title | str | 视频标题 | |
| case_info | object | 案件信息 | 见「[附表1](#附表1data-对象下的case_info对象)」 |
| my_point | object | 我的观点 | 见「[附表4](#附表4data-对象下的my_point对象)」 |
| vote_info | object | 投票信息 | 见「[附表5](#附表5data-对象下的vote_info对象)」 |
###### 附表1`data` 对象下的`case_info`对象
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ------ | ------------ | ------------------------------------------------------------ |
| comment | object | 单条评论信息 | 仅当`case_type``1`有值。见「[附表2](#附表2评论信息)」 |
| danmu_img | str | 弹幕截图 | 仅当`case_type``4`有值截图URL |
| comments | object | 若干条评论 | 仅当`case_type``2`有值。见「[附表2](#附表2评论信息)」 |
| single_danmu | str | 单条弹幕信息 | 仅当`case_type``3`有值。见「[附表3](#附表3弹幕信息)」 |
###### 附表2评论信息
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ---- |
| mid | num | 用户uid | |
| uname | str | 用户名 | |
| face | str | 用户头像 | 头像URL |
| content | str | 评论内容 | |
| child_comments | object | 子评论(对该评论的回复) | 见「[附表2](#附表2评论信息)」,单条评论和子评论下无`child_comments`字段 |
###### 附表3弹幕信息
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | -------- | ------------------------------------------------------------ |
| id_str | str | 弹幕dmid | 见「[xml弹幕](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/danmaku/danmaku_xml.md#%E5%B1%9E%E6%80%A7-p)」 |
| content | str | 弹幕内容 | |
| progress | num | | 尚不明确 |
###### 附表4`data` 对象下的`my_point`对象
记录了某个风纪委员的某个投票(观点)信息
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------------- | ------------------------------------------------------------ |
| opid | num | 观点编号 | 每当某个一个风纪委员给某个仲裁案件发表观点,就+1 |
| mid | num | 风纪委员用户ID | |
| uname | str | 风纪委员用户名 | 风纪委勾选匿名投票则显示“匿名用户” |
| face | str | 头像URL | 头像 |
| vote | num | 投票选项 | “合适题”分别为 `1` 或者 `2` 或者 `3` 或者 `4`<br/>对应:“合适”、“一般”、“不合适”、“无法判断”<br/><br/>“氛围题”分别为 `11` 或者 `12` 或者 `13` 或者 `14`<br/>对应:“好”、“一般”、“差”、“无法判断”<br/><br/>注释<br/>合适题:“单条弹幕(评论)是否合适?”<br/>氛围题:“弹幕(评论区)氛围如何” |
| vote_text | | 内容为空 | *现在系统已不再展示其他风纪委所投的票* |
| content | str | 观点内容 | 该风纪委员所发表的观点内容 |
| anonymous | num | 0 | 尚不明确 |
| like | num | 被点赞数量 | |
| hate | num | 被点踩数量 | |
| like_status | num | 点赞(踩)状态 | 本账号是否给该条评论点赞:<br/>0没做操作1给评论点赞2给评论点踩 |
| vote_time | num | 投票时间 | 时间戳,精确到秒 |
| insiders | num | 是否观看此类视频 | 1平时观看此类视频0平时不观看此类视频 |
###### 附表5`data` 对象下的`vote_info`对象
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ----- | -------- | -------------------------------------------- |
| all_count | num | 总投票数 | |
| counts | array | 观点分布 | 格式:`[合适, 一般, 不合适, 无法判断]` |
| insiders_counts | array | 行为分布 | 格式:`[平时会看此类视频, 平时不看此类视频]` |
**示例:**
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"case_id": "AC2SiaD8jlrL",
"case_type": 3,
"jury_state": 1,
"participate": 1,
"vote_items": [
{
"vote": 1,
"vote_text": "合适"
},
{
"vote": 2,
"vote_text": "一般"
},
{
"vote": 3,
"vote_text": "不合适"
},
{
"vote": 4,
"vote_text": "无法判断"
}
],
"default_vote": 4,
"status": 1,
"origin_start": 0,
"avid": 727792866,
"cid": 756815216,
"vote_cd": -1,
"result": 3,
"result_text": "不合适",
"title": "“国家队”守门员和朋友打赌,谁能在湿滑的地面踢进足球就送美刀",
"case_info": {
"comment": null,
"danmu_img": "",
"comments": null,
"single_danmu": {
"id_str": "1086612690354524160",
"content": "这守门员干啥呢?给块骨头我家狗都比他防的好",
"progress": 27859
}
},
"my_point": {
"opid": 10001,
"mid": 10001,
"uname": "风纪委员用户名",
"face": "http://i0.hdslb.com/bfs/face/e48952d599dbf011c2235239fafa2bf0deccef5a.jpg",
"vote": 3,
"vote_text": "不合适",
"content": "",
"anonymous": 0,
"like": 0,
"hate": 0,
"like_status": 0,
"vote_time": 1663655000,
"insiders": 1
},
"vote_info": {
"all_count": 306,
"counts": [90, 33, 177, 6],
"insiders_counts": [245, 61]
}
}
}
```
</details>
#### 旧 api
<details>
<summary>查看旧 api</summary>
> https://api.bilibili.com/x/credit/jury/juryCase
*请求方式GET*
认证方式CookieSESSDATA或APP
只能查询自己参与众裁的
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ------------ | ------ | ------------- | ------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| cid | num | 案件id | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />25010没有权限查看案件 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | -------- | ------------ |
| id | num | 案件id | |
| mid | num | 被举报用户mid | |
| status | num | 裁决状态 | 1投票中<br />2停止发放<br />3复核中结案中<br />4已裁决<br />5待重启<br />6未裁决<br />7冻结中<br />8队列中 |
| statusTitle | str | 封禁时间文字 | `judgeType`=1时有效 |
| originType | num | 来源类型 | 见「封禁公示」中表 |
| reasonType | num | 原因类型 | 见「封禁公示」中表 |
| originContent | str | 被举报的原文 | |
| punishResult | num | 处理结果 | 0<br />1封禁3天<br />2封禁7天<br />3永封<br />4其他封禁天数<br />5封禁15天<br />6仅删除不封禁 |
| punishTitle | str | 处罚原因 | |
| judgeType | num | 裁决类型 | `status`=4时有效<br />0未裁决<br/>1违规<br/>2不违规 |
| originUrl | str | 来源url | |
| blockedDays | num | 封禁时间 | `judgeType`=1时有效 |
| putTotal | num | | 作用尚不明确 |
| voteRule | num | 投票不违规人数 | |
| voteBreak | num | 投票建议封禁人数 | |
| voteDelete | num | 投票建议删除人数 | |
| startTime | num | 裁决起始时间 | 时间戳 |
| endTime | num | 裁决截止时间 | 时间戳<br />未结案固定为24小时 |
| ctime | num | 举报创建时间 | 时间戳 |
| mtime | num | 开始拉取时间 | 时间戳 |
| originTitle | str | 来源标题 | |
| relationId | str | 违规关系标识字 | {评论rpid}-{违规类型id}-{来源对象id} |
| face | str | 被举报用户头像url | |
| uname | str | 被举报用户昵称 | |
| vote | num | 我的投票 | **见上表** |
| case_type | num | 众裁类型 | 0小众众裁<br />1大众众裁 |
**示例:**
查询案件`1239790`的信息
Cookie方式
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/juryCase' \
--data-urlencode 'cid=1239790' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/juryCase' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'cid=1239790' \
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"id": 1239790,
"mid": 351783425,
"status": 4,
"statusTitle": "封禁7天",
"originType": 1,
"reasonType": 9,
"originContent": "up主在和平精英里的喷子是霰xian弹枪不是散san弹枪。",
"punishResult": 0,
"punishTitle": "在评论中发布引战言论",
"judgeType": 2,
"originUrl": "https://www.bilibili.com/video/BV15x411X7eV/#reply1728344012",
"blockedDays": 7,
"putTotal": 272,
"voteRule": 409,
"voteBreak": 17,
"voteDelete": 89,
"startTime": 1594467941,
"endTime": 1594471525,
"ctime": 1594464499,
"mtime": 1594471678,
"originTitle": "和平精英揭秘真相68氪金试水最新抽奖活动到底是亏了还是赚了",
"relationId": "1728344012-1-57465308",
"face": "http://i2.hdslb.com/bfs/face/e1018566c615059b664dc6eae3a5235c31cd92fe.jpg",
"uname": "零酱a",
"vote": 4,
"case_type": 0
}
}
```
</details>
</details>
## 查询案件众裁信息
这是一个旧版的API暂未找到对应的新版API。
<details>
<summary>展开:</summary>
> https://api.bilibili.com/x/credit/jury/caseInfo
*请求方式GET*
注:该接口无需登录
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------ | ------ | ---- |
| cid | num | 案件id | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | -------------------------------- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | 有效时object<br />无效时null | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ----------------- | ------------------------------------------------------------ |
| id | num | 案件id | |
| mid | num | 被举报用户mid | |
| status | num | 裁决状态 | 1投票中<br />2停止发放<br />3复核中结案中<br />4已裁决<br />5待重启<br />6未裁决<br />7冻结中<br />8队列中 |
| originType | num | 来源类型 | 见「封禁公示」中表 |
| reasonType | num | 原因类型 | 见「封禁公示」中表 |
| originContent | str | 被举报的原文 | |
| punishResult | num | 处理结果 | 0<br />1封禁3天<br />2封禁7天<br />3永封<br />4其他封禁天数<br />5封禁15天<br />6仅删除不封禁 |
| judgeType | num | 裁决类型 | `status`=4时有效<br />0未裁决<br/>1违规<br/>2不违规 |
| originUrl | str | 来源url | |
| blockedDays | num | 封禁时间 | `judgeType`=1时有效 |
| putTotal | num | | 作用尚不明确 |
| voteRule | num | 投票不违规人数 | |
| voteBreak | num | 投票建议封禁人数 | |
| voteDelete | num | 投票建议删除人数 | |
| startTime | num | 裁决起始时间 | 时间戳 |
| endTime | num | 裁决截止时间 | 时间戳<br />未结案固定为24小时 |
| ctime | num | 举报创建时间 | 时间戳 |
| mtime | num | 开始拉取时间 | 时间戳 |
| originTitle | str | 来源标题 | |
| relationId | str | 违规关系标识字 | {评论rpid}-{违规类型id}-{来源对象id} |
| face | str | 被举报用户头像url | |
| uname | str | 被举报用户昵称 | |
| vote | num | 0 | 固定为0 |
| case_type | num | 众裁类型 | 0小众众裁<br />1大众众裁 |
**示例:**
查询案件`1239790`的信息
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/juryCase' \
--data-urlencode 'cid=1239790'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"id": 1239790,
"mid": 351783425,
"status": 4,
"originType": 1,
"reasonType": 9,
"originContent": "up主在和平精英里的喷子是霰xian弹枪不是散san弹枪。",
"punishResult": 0,
"judgeType": 2,
"originUrl": "https://www.bilibili.com/video/BV15x411X7eV/#reply1728344012",
"blockedDays": 7,
"putTotal": 272,
"voteRule": 409,
"voteBreak": 17,
"voteDelete": 89,
"startTime": 1594467941,
"endTime": 1594471525,
"ctime": 1594464499,
"mtime": 1594471678,
"originTitle": "和平精英揭秘真相68氪金试水最新抽奖活动到底是亏了还是赚了",
"relationId": "1728344012-1-57465308",
"face": "http://i2.hdslb.com/bfs/face/e1018566c615059b664dc6eae3a5235c31cd92fe.jpg",
"uname": "零酱a",
"vote": 0,
"case_type": 0
}
}
```
</details>
</details>
## 查询我的众裁记录
> https://api.bilibili.com/x/credit/v2/jury/case/list
*请求方式GET*
认证方式Cookie
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | -------------------- |
| pn | num | 页码 | 非必要 | 默认为1 |
| ps | num | 每页显示数量 | 非必要 | 默认为30<br />最大30 |
**Headers参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ---- | ------ | ---- |
| cookie | str | | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ------ | ------------ | ------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
| data.total | num | 仲裁案例数 | |
| data.list | array | 仲裁记录列表 | |
`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ------ | --------------- | ------------ |
| 0 | object | 仲裁记录1 | |
| n | object | 仲裁记录n+1 | 按照时间顺序 |
| …… | object | …… | …… |
`list`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------------ | ------------------------------------------------------------ |
| case_id | str | 案件id | |
| case_type | num | 案件类型 | 1单条评论<br/>2评论氛围<br/>3单条弹幕<br/>4弹幕氛围 |
| status | num | 裁决状态 | 0投票中<br />1已结束 |
| vote | num | 投票选项 | “单条评论(弹幕)”分别为 `1` 或者 `2` 或者 `3` 或者 `4`<br/>对应:“合适”、“一般”、“不合适”、“无法判断”<br/><br/>“评论(弹幕)氛围”分别为 `11` 或者 `12` 或者 `13` 或者 `14`<br/>对应:“好”、“一般”、“差”、“无法判断” |
| vote_text | str | 投票选项文本 | *参考上条* |
| vote_time | num | 投票时间 | 时间戳,精确到秒 |
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"total": 5428,
"list": [
{
"case_id": "AC2sOiNenwj1",
"case_type": 4,
"status": 1,
"vote": 11,
"vote_text": "好",
"vote_time": 1662700609
}
]
}
}
```
</details>
#### 旧 api
<details>
<summary>查看旧版API</summary>
> https://api.bilibili.com/x/credit/jury/caseList
*请求方式GET*
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ------------ | ------ | ------------- | ------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| pn | num | 页码 | 非必要 | 默认为1 |
| ps | num | 每页显示数量 | 非必要 | 默认为30<br />最大30 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | array | 仲裁记录列表 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ------ | --------------- | ------------ |
| 0 | object | 仲裁记录1 | |
| n | object | 仲裁记录n+1 | 按照时间顺序 |
| …… | object | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ----------------- | ------------------------------------------------------------ |
| id | num | 案件id | |
| mid | num | 被举报用户mid | |
| status | num | 裁决状态 | 1投票中<br />2停止发放<br />3复核中结案中<br />4已裁决<br />5待重启<br />6未裁决<br />7冻结中<br />8队列中 |
| originType | num | 来源类型 | 见「封禁公示」中表 |
| reasonType | num | 原因类型 | 见「封禁公示」中表 |
| originContent | str | 被举报的原文 | |
| punishResult | num | 处理结果 | 0<br />1封禁3天<br />2封禁7天<br />3永封<br />4其他封禁天数<br />5封禁15天<br />6仅删除不封禁 |
| punishTitle | str | 处罚原因 | |
| judgeType | num | 裁决类型 | `status`=4时有效<br />0未裁决<br/>1违规<br/>2不违规 |
| originUrl | str | 来源url | |
| blockedDays | num | 封禁时间 | `judgeType`=1时有效 |
| putTotal | num | | 作用尚不明确 |
| voteRule | num | 投票不违规人数 | |
| voteBreak | num | 投票建议封禁人数 | |
| voteDelete | num | 投票建议删除人数 | |
| startTime | num | 裁决起始时间 | 时间戳 |
| endTime | num | 裁决截止时间 | 时间戳<br />未结案固定为24小时 |
| ctime | num | 举报创建时间 | 时间戳 |
| mtime | num | 开始拉取时间 | 时间戳 |
| originTitle | str | 来源标题 | |
| relationId | str | 违规关系标识字 | {评论rpid}-{违规类型id}-{来源对象id} |
| face | str | 被举报用户头像url | |
| uname | str | 被举报用户昵称 | |
| vote | num | 我的投票 | **见上表** |
| voteTime | num | 我的裁决时间 | 毫秒 时间戳 |
| case_type | num | 众裁类型 | 0小众众裁<br />1大众众裁 |
**示例:**
查询我的历史众裁第1页每页显示1个案件
Cookie方式
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/caseList' \
--data-urlencode 'ps=1' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
```
APP方式
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/caseList' \
--data-urlencode 'access_key=xxx' \
--data-urlencode 'ps=1' \
--data-urlencode 'pn=1'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"id": 1241808,
"mid": 298264370,
"status": 4,
"originType": 1,
"reasonType": 9,
"originContent": "别在发这种傻逼视频了好吗?真要搞到禁摩才甘心。",
"punishResult": 6,
"punishTitle": "在评论中发布引战言论",
"judgeType": 1,
"originUrl": "https://www.bilibili.com/video/av328669697/#reply3165369965",
"blockedDays": 7,
"putTotal": 251,
"voteRule": 14,
"voteBreak": 140,
"voteDelete": 373,
"startTime": 1594528662,
"endTime": 1594530687,
"ctime": 1594528108,
"mtime": 1594530802,
"originTitle": "我这里有记录仪!略略略略略略哈哈哈,干得漂亮!",
"relationId": "3165369965-1-328669697",
"face": "http://i1.hdslb.com/bfs/face/d69912bb2a51f08176bcdbf4ba15e4c2b0962ad9.jpg",
"uname": "MyLSTicKnight",
"vote": 4,
"voteTime": 1594528700000,
"case_type": 0
}
]
}
```
</details>
</details>
## 获取众议观点
> https://api.bilibili.com/x/credit/v2/jury/case/opinion
*请求方式GET*
认证方式Cookie
**标头参数Headers**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------ | ------ | ---- |
| Cookie | str | Cookie | 必要 | |
**URL参数Query Params**
| 参数名 | 类型 | 内容 | 备注 |
| ------- | ---- | ---------- | ------------------------------------------- |
| case_id | str | 仲裁案件id | **必填** |
| pn | num | | 显示第x页default = 1 |
| ps | num | | 每页显示y条观点Max = 20default = 10 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------- |
| code | num | 返回值 | 0成功<br>-400`ps`参数大于可允许的最大值`20` |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | object | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ----- | -------------------------- | ---- |
| total | num | 当前案件众议观点总数 | |
| list | array | 无数据时是一个空数组:“[]” | |
`data.list`对象是一个数组,里面包含`ps`个object参数`ps`见上文object结构见「[附表4](#附表4data-对象下的my_point对象)」)
**示例:**
查看案件`AC1xx411c7ac`的众议观点,每页`2`项,查看第`1`
```shell
curl -G 'https://api.bilibili.com/x/credit/v2/jury/case/opinion' \
--data-urlencode 'case_id=AC1xx411c7ac' \
--data-urlencode 'pn=1' \
--data-urlencode 'ps=2' \
--header 'cookie: xxxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"total": 48,
"list": [
{
"opid": 46087379,
"mid": 22006415,
"uname": "匿名用户",
"face": "http://i0.hdslb.com/bfs/face/e48952d599dbf011c2235239fafa2bf0deccef5a.jpg",
"vote": 11,
"vote_text": "",
"content": "正常评论",
"anonymous": 1,
"like": 0,
"hate": 0,
"like_status": 0,
"vote_time": 1661430391,
"insiders": 1
},
{
"opid": 46087280,
"mid": 19243907,
"uname": "匿名用户",
"face": "http://i0.hdslb.com/bfs/face/e85d7ab3425d3dd0f0796bd7f945b47ac27ca82a.jpg",
"vote": 11,
"vote_text": "",
"content": "并未发现明显问题。",
"anonymous": 1,
"like": 0,
"hate": 0,
"like_status": 0,
"vote_time": 1661430337,
"insiders": 0
}
]
}
}
```
</details>
#### 旧 api
<details>
<summary>查看旧版API</summary>
> https://api.bilibili.com/x/credit/jury/case/opinion
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ------------ | ------ | ------------- | ------------- |
| cid | num | 案件id | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为10 |
| pn | num | 页码 | 非必要 | 默认为1 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------ |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 信息 | 默认为0 |
| ttl | num | 1 | |
| data | object | 数据本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | -------- | ------------ |
| count | num | 观点总数 | |
| opinion | 有效时array<br />无效时null | 观点列表 | |
`data` 中的`opinion` 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ------ | ----------- | ------------ |
| 0 | object | 观点1 | |
| n | object | 观点n+1 | 按照时间顺序 |
| …… | object | …… | …… |
`opinion` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------ | -------- | ------------ |
| mid | num | 用户mid | 仅非匿名有此项 |
| face | str | 用户头像 | 仅非匿名有此项 |
| name | str | 用户昵称 | 仅非匿名有此项 |
| opid | num | 观点id | |
| vote | num | 投票选择 | **见上表** |
| content | str | 观点内容 | |
| attr | num | 是否匿名 | 0匿名<br />1不匿名 |
| hate | num | 喜欢人数 | |
| like | num | 不喜欢人数 | |
**示例:**
查看案件`1239790`的众议观点每页10项查看第一页
```shell
curl -G 'https://api.bilibili.com/x/credit/jury/case/opinion' \
--data-urlencode 'cid=1239790' \
--data-urlencode 'ps=10' \
--data-urlencode 'pn=1' \
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"count": 23,
"opinion": [
{
"opid": 250943982,
"vote": 2,
"content": "不懂,正常的科普也有人杠吗?没文化真可怕",
"attr": 0,
"hate": 0,
"like": 0
},
{
"mid": 59894,
"face": "http://i2.hdslb.com/bfs/face/0cc48fc40867537d5a09a125e90f76183efbfdfa.gif",
"name": "雷歐諾斯",
"opid": 250956267,
"vote": 2,
"content": "这个虽然不是正确的说法,但本身是一种观点。而且已经成为一种梗了。不属于引战。",
"attr": 1,
"hate": 0,
"like": 0
},
{
"opid": 250956259,
"vote": 2,
"content": "正常科普,不构成引战。",
"attr": 0,
"hate": 0,
"like": 0
},
{
"mid": 215020429,
"face": "http://i1.hdslb.com/bfs/face/1d43c302e67db4d21b9c5c0f0dc0b8786e8086d5.jpg",
"name": "瞎子广_广告歌41",
"opid": 250955160,
"vote": 2,
"content": "这个其实也没啥事真的",
"attr": 1,
"hate": 0,
"like": 0
},
{
"mid": 108194360,
"face": "http://i0.hdslb.com/bfs/face/b78c92a69ff9977b7d08d4f7edc0a051a3d6ea3e.jpg",
"name": "籽云奕",
"opid": 250953998,
"vote": 2,
"content": "仅仅是科普评论,无过激言论",
"attr": 1,
"hate": 0,
"like": 0
},
{
"mid": 34503714,
"face": "http://i2.hdslb.com/bfs/face/eb2d0853235a56d035303f4f3614dcb6e0cf66fa.jpg",
"name": "十六夜紅月丶",
"opid": 250950982,
"vote": 2,
"content": "无过激言论,正常科普罢了",
"attr": 1,
"hate": 0,
"like": 0
},
{
"opid": 250950973,
"vote": 2,
"content": "其实两种读法都是正确的,虽然想要纠正别人的错误。不过自己本身就错了。还是保留吧,没什么引战的",
"attr": 0,
"hate": 0,
"like": 0
},
{
"mid": 436136443,
"face": "http://i1.hdslb.com/bfs/face/6b4151d8e030eddd073add6ef18ccbb00aa48d0f.jpg",
"name": "兄弟好牛啤",
"opid": 250950417,
"vote": 2,
"content": "有点经典的争议,但可能还会有人不知道",
"attr": 1,
"hate": 0,
"like": 0
},
{
"mid": 87385400,
"face": "http://i2.hdslb.com/bfs/face/0f567e7fa49bcef22010f3ff78e90553d8fffb09.jpg",
"name": "小学生de王者荣耀",
"opid": 250950402,
"vote": 2,
"content": "合理纠正up主的错误建议追究恶意举报者的责任",
"attr": 1,
"hate": 0,
"like": 0
},
{
"opid": 250949840,
"vote": 2,
"content": "正常科普,没有过激言论,建议保留",
"attr": 0,
"hate": 0,
"like": 0
}
]
}
}
```
</details>
</details>