From 9fa97ccd48f1f167bf3fc7f7e1865f085f251733 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A4=BE=E4=BC=9A=E6=98=93=E5=A7=90QwQ?=
<45892418+SocialSisterYi@users.noreply.github.com>
Date: Sun, 14 Nov 2021 21:48:11 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E3=80=90=E8=BD=AC=E6=AD=A3?=
=?UTF-8?q?=E7=AD=94=E9=A2=98=E3=80=91=E7=9B=B8=E5=85=B3api?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 9 +-
newbie_exam/action.md | 394 +++++++++++++++++++++++++++++++++++++++++-
newbie_exam/fetch.md | 11 +-
newbie_exam/info.md | 216 +++++++++++++++++------
4 files changed, 558 insertions(+), 72 deletions(-)
diff --git a/README.md b/README.md
index b2ea958..42ca60e 100644
--- a/README.md
+++ b/README.md
@@ -13,11 +13,12 @@
-
+
野生API文档
不断更新中....
+
本项目旨在对B站web端、移动端以及TV端散落在世界各地的野生api进行收集整理,研究使用方法并对其进行说明,运用了黑箱法、控制变量法、js逆向分析法、apk拆包及反编译法、网络抓包法等研究办法
所有api均为标准http协议,返回数据大都为json或protobuf
@@ -181,10 +182,10 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
- 直播间操作
- [直播视频流](live/live_stream.md)×
- [直播信息流](live/message_stream.md)×
-- [转正答题](newbie_exam)
- - [查询信息](newbie_exam/info.md)×
+- [转正答题](newbie_exam)×
+ - [查询信息](newbie_exam/info.md)√
- [拉取题目](newbie_exam/fetch.md)√
- - [操作](newbie_exam/action.md)×
+ - [操作](newbie_exam/action.md)√
- B币钱包
- 基本信息
- B币充值
diff --git a/newbie_exam/action.md b/newbie_exam/action.md
index b6314cd..42a02f2 100644
--- a/newbie_exam/action.md
+++ b/newbie_exam/action.md
@@ -2,12 +2,12 @@
- [提交答题](#提交答题)
- [提交基础题](#提交基础题)
- - 提交附加题
- - 提交自选题
-
-- 获取极验验证码
-- 提交自选题分类
-- 提前交卷
+ - [提交附加题](#提交附加题)
+ - [提交自选题](#提交自选题)
+- [获取验证码](#获取验证码)
+- [提交验证码](#提交验证码)
+- [提交自选题分类](#提交自选题分类)
+- [提前交卷](#提前交卷)
---
@@ -35,7 +35,67 @@
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
-| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41012:用户答题提交题目id不合法
41020:用户基础题已通过 |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41012:用户答题提交题目id不合法
41020:用户基础题已通过
41023:用户答题记录不存在 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------ | ---- | ------------ | ----------------------------------- |
+| passed | bool | 选项是否正确 | true:选项正确
false:选项错误 |
+
+**示例:**
+
+提交题目id为`104`的题,选项hash为`cb4c8cc9424fc771f7c1598e74de498f`
+
+```shell
+curl 'http://api.bilibili.com/x/answer/v4/base/check' \
+--data-urlencode 'question_id=104' \
+--data-urlencode 'ans_hash=cb4c8cc9424fc771f7c1598e74de498f' \
+--data-urlencode 'csrf=xxxx' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "passed": true
+ }
+}
+```
+
+
+
+### 提交附加题
+
+> http://api.bilibili.com/x/answer/v4/base/check
+
+*请求方式:POST*
+
+认证方式:APP或Cookie(SESSDATA)
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ----------- | ---- | ------------------------ | -------------- | ------------------------------------------ |
+| question_id | num | 题目id | 必要 | 从[拉取基础题api](fetch.md#拉取基础题)获得 |
+| ans_hash | str | 选项hash | 必要 | 从[拉取基础题api](fetch.md#拉取基础题)获得 |
+| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41012:用户答题提交题目id不合法
41023:用户答题记录不存在 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
@@ -61,6 +121,66 @@ curl 'http://api.bilibili.com/x/answer/v4/base/check' \
查看响应示例:
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "passed": true
+ }
+}
+```
+
+
+
+### 提交自选题
+
+> http://api.bilibili.com/x/answer/v4/pro/check
+
+*请求方式:POST*
+
+认证方式:APP或Cookie(SESSDATA)
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ----------- | ---- | ------------------------ | -------------- | ------------------------------------------ |
+| question_id | num | 题目id | 必要 | 从[拉取基础题api](fetch.md#拉取基础题)获得 |
+| ans_hash | str | 选项hash | 必要 | 从[拉取基础题api](fetch.md#拉取基础题)获得 |
+| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41012:用户答题提交题目id不合法
41023:用户答题记录不存在
41026:获取用户DB题目信息异常 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------ | ---- | ---- | ---------- |
+| passed | bool | true | 恒为`true` |
+
+**示例:**
+
+提交题目id为`2935`的题,选项hash为`ffd55cbe0624f466bee2ea3eb576a4d0`
+
+```shell
+curl -G 'http://api.bilibili.com/x/answer/v4/pro/check' \
+--data-urlencode 'question_id=2935' \
+--data-urlencode 'ans_hash=ffd55cbe0624f466bee2ea3eb576a4d0' \
+--data-urlencode 'csrf=xxxx' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
```json
{
@@ -73,4 +193,262 @@ curl 'http://api.bilibili.com/x/answer/v4/base/check' \
}
```
-
\ No newline at end of file
+
+
+## 获取验证码
+
+> http://api.bilibili.com/x/answer/v4/captcha
+
+*请求方式:GET*
+
+认证方式:APP或Cookie(SESSDATA)
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41010:用户答题非法访问
41014:答题过快或错误太多
41020:用户基础题已通过
41021:用户基础题未通过 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| --------- | ---- | ----------- | ------------- |
+| type | str | 验证码类型? | geetest:极验 |
+| gt | str | 极验id | |
+| challenge | str | 极验key | |
+| token | str | (?) | |
+| url | str | (?) | |
+
+**示例:**
+
+```shell
+curl 'http://api.bilibili.com/x/answer/v4/captcha' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "type": "geetest",
+ "gt": "abc55d1fb914cb110cfb4c232a4b4c35",
+ "challenge": "90a6e03e626e13ee186ddae0107c3ae2",
+ "token": "",
+ "url": ""
+ }
+}
+```
+
+
+
+## 提交验证码
+
+> http://api.bilibili.com/x/answer/v4/captcha/check
+
+*请求方式:POST*
+
+认证方式:APP或Cookie(SESSDATA)
+
+**注:**
+
+旧版`edition=0`同时提交自选题分类以及验证码
+
+新版`edition=2`仅仅提交验证码
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ----------------- | ---- | ---------------------- | -------------- | ---------------- |
+| types | nums | 自选题分类(旧版) | 非必要 | 新版不需要此字段 |
+| type | str | 验证码类型 | 非必要 | |
+| bilibili_token | str | | 非必要 | |
+| bilibili_code | str | | 非必要 | |
+| geetest_challenge | str | 极验key | 非必要 | |
+| geetest_seccode | str | 极验结果+\|jordan | 非必要 | |
+| geetest_validate | str | 极验结果 | 非必要 | |
+| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-105:验证码错误
-400:请求错误
41010:用户答题非法访问
41014:答题过快或错误太多
41021:用户基础题未通过
41031:自选题未通过 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+
+**示例:**
+
+```shell
+curl 'http://api.bilibili.com/x/answer/v4/captcha/check' \
+--data-urlencode 'types=' \
+--data-urlencode 'type=geetest' \
+--data-urlencode 'bilibili_token=' \
+--data-urlencode 'bilibili_code=' \
+--data-urlencode 'geetest_challenge=3f809a7a9c51edca751fd26c032c182d' \
+--data-urlencode 'geetest_seccode=513ec576a275a3eb250829202d4dce46|jordan' \
+--data-urlencode 'geetest_validate=513ec576a275a3eb250829202d4dce46' \
+--data-urlencode 'csrf=xxx' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1
+}
+```
+
+
+
+## 提交自选题分类
+
+> http://api.bilibili.com/x/answer/v4/pro/type/check
+
+*请求方式:POST*
+
+认证方式:APP或Cookie(SESSDATA)
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | ---------------------- | -------------- | ---- |
+| types | nums | 自选题分类(新版) | 必要 | |
+| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41010:用户答题非法访问
41014:答题过快或错误太多
41021:用户基础题未通过
41031:自选题未通过
41052:用户题目类型不合法
41055:基础附加题未通过 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+
+**示例:**
+
+选择`游戏` `影视` `科教/知识` `动画/动漫`分类
+
+```shell
+curl 'http://api.bilibili.com/x/answer/v4/pro/type/check' \
+--data-urlencode 'types=1,2,3,4' \
+--data-urlencode 'csrf=xxx' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1
+}
+```
+
+
+
+## 提前交卷
+
+> http://api.bilibili.com/x/answer/v4/submit
+
+*请求方式:POST*
+
+认证方式:APP或Cookie(SESSDATA)
+
+当当前得分>=60时,可请求本接口提前完成答题
+
+**正文参数( application/x-www-form-urlencoded ):**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | ---------------------- | -------------- | ---- |
+| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ------------------------------------------------------------ |
+| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41023:用户答题记录不存在
41031:自选题未通过 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 信息本体 | |
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------------ | ---- | ---------------- | -------------------------------------------- |
+| hid | num | 答题会话id | |
+| mid | num | 答题用户mid | |
+| score | num | 得分 | |
+| status | num | 0 | |
+| number | num | 0 | |
+| result | str | succeed | |
+| stage | str | result | |
+| version | str | 版本 | 目前为`v4` |
+| start_time | num | 本次答题开始时间 | 时间戳 |
+| first_answer | num | 0 | |
+| progress | str | | |
+| text | str | | |
+| url | str | | |
+| in_reg_audit | bool | | |
+| edition | num | 答题版本 | 0:旧版(40+10+50)
2:新版(40+30+30) |
+| rewards | null | | |
+| captcha | num | 1 | |
+
+**示例:**
+
+```shell
+curl 'http://api.bilibili.com/x/answer/v4/submit' \
+--data-urlencode 'csrf=xxx' \
+-b 'SESSDATA=xxxx'
+```
+
+
+查看响应示例:
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "hid": 1623207905520705,
+ "mid": 293793435,
+ "score": 63,
+ "status": 3,
+ "number": 0,
+ "result": "succeed",
+ "stage": "result",
+ "version": "v4",
+ "start_time": 1636889218,
+ "first_answer": 0,
+ "progress": "",
+ "text": "",
+ "url": "",
+ "in_reg_audit": false,
+ "edition": 0,
+ "rewards": null,
+ "captcha": 1
+ }
+}
+```
+
+
diff --git a/newbie_exam/fetch.md b/newbie_exam/fetch.md
index a21d806..d7d4315 100644
--- a/newbie_exam/fetch.md
+++ b/newbie_exam/fetch.md
@@ -35,11 +35,11 @@
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | ------------------ | ------------------------------------------------------------ |
-| id | num | 问题id | |
+| id | num | 问题id | **问题id不代表题图,因为选项是打乱的** |
| number | num | 当前题号 | |
| q_height | num | 问题部分总高度 | |
| q_coord_y | num | 问题部分Y裁剪起始 | 当然是0 |
-| image | str | 题图url | 题目+所有的选项 |
+| image | str | 题图url | 题目文字+所有的选项文字排版成一张图,存储在bfs中 |
| from | str | 问题来源页面url | 如:“xx弹幕是否违规”所在的视频页 |
| options | array | 选项列表 | |
| type_id | num | 题目父类型id | 见[查询自选题分类](info.md#查询自选题分类)
**注:36为基础题** |
@@ -62,7 +62,7 @@
| number | num | 选项序号 | 如:1为A 2为B |
| high | num | 选项部分总高度 | |
| coord_y | num | 选项部分Y裁剪起始 | |
-| hash | str | 选项hash | 作为提交对应选项时的参数 |
+| hash | str | 选项hash | 作为提交对应选项时应传参 |
**示例:**
@@ -211,8 +211,6 @@ curl -G 'http://api.bilibili.com/x/answer/v4/pro' \
查看响应示例:
-
-
```json
{
"code": 0,
@@ -260,4 +258,5 @@ curl -G 'http://api.bilibili.com/x/answer/v4/pro' \
}
```
-
\ No newline at end of file
+
+
diff --git a/newbie_exam/info.md b/newbie_exam/info.md
index fb02079..10f2c38 100644
--- a/newbie_exam/info.md
+++ b/newbie_exam/info.md
@@ -25,22 +25,25 @@
`data`对象:
-| 字段 | 类型 | 内容 | 备注 |
-| ------------ | ---- | ---------------- | ------------------------------------------------------------ |
-| hid | num | 答题会话id | |
-| mid | num | 答题用户mid | |
-| score | num | 当前得分 | |
-| status | num | 答题状态 | 0:未答题
2:答题中
3:已通过 |
-| number | num | 当前题号 | |
-| result | str | 是否通过答题 | failed:未通过
succeed:已通过 |
-| stage | str | 当前答题阶段 | base:基础题
extra:附加题
pro_type:等待选择自选题类型
pro:自选题
complete:已完成 |
-| version | str | 答题版本 | |
-| start_time | num | 本次答题开始时间 | |
-| first_answer | num | (?) | |
-| progress | str | 当前答题进度 | 百分比
60分为100% |
-| text | str | 提示文案 | |
-| url | str | 答题页面url | |
-| in_reg_audit | bool | (?) | |
+| 字段 | 类型 | 内容 | 备注 |
+| ------------ | ---- | ------------------ | ------------------------------------------------------------ |
+| hid | num | 答题会话id | |
+| mid | num | 答题用户mid | |
+| score | num | 当前得分 | |
+| status | num | 答题状态 | 0:未答题
2:答题中
3:已通过 |
+| number | num | 当前题号 | |
+| result | str | 是否通过答题 | failed:未通过
succeed:已通过 |
+| stage | str | 当前答题阶段 | base:基础题
extra:附加题
pro_type:等待选择自选题类型
pro:自选题
complete:已完成 |
+| version | str | 答题版本 | 当前为`v4` |
+| start_time | num | 本次答题开始时间 | 时间戳 |
+| first_answer | num | (?) | |
+| progress | str | 当前答题进度 | 百分比
60分为100% |
+| text | str | 提示文案 | |
+| url | str | 答题页面url | |
+| in_reg_audit | bool | 是否为第一次答题 | |
+| edition | num | 答题版本 | 0:旧版(40+10+50)
2:新版(40+30+30) |
+| rewards | null | (?) | |
+| captcha | num | 是否已经提交验证码 | 1:已提交
仅新版提交验证码后存在 |
**示例:**
@@ -58,20 +61,22 @@ curl -G 'http://api.bilibili.com/x/answer/v4/status' \
"message": "0",
"ttl": 1,
"data": {
- "hid": 1614593296356209,
- "mid": 1386643599,
- "score": 28,
+ "hid": 1623207905520705,
+ "mid": 293793435,
+ "score": 2,
"status": 2,
- "number": 28,
+ "number": 2,
"result": "failed",
"stage": "base",
"version": "v4",
- "start_time": 1614593296,
+ "start_time": 1623207905,
"first_answer": 2,
- "progress": "47",
+ "progress": "3",
"text": "继续答题",
"url": "https://www.bilibili.com/h5/newbie/entry?navhide=1",
- "in_reg_audit": false
+ "in_reg_audit": false,
+ "edition": 0,
+ "rewards": null
}
}
```
@@ -86,6 +91,8 @@ curl -G 'http://api.bilibili.com/x/answer/v4/status' \
认证方式:Cookie或APP
+当字段`edition`的值不同时,该接口返回的数据也不同
+
**json回复:**
| 字段 | 类型 | 内容 | 备注 |
@@ -133,6 +140,8 @@ curl -G 'http://api.bilibili.com/x/answer/v4/pro/type' \
-b 'SESSDATA=xxx'
```
+旧版`edition=0`返回:
+
查看响应示例:
@@ -294,13 +303,111 @@ curl -G 'http://api.bilibili.com/x/answer/v4/pro/type' \
+新版`edition=2`返回:
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": [
+ {
+ "id": 1,
+ "name": "游戏",
+ "fields": [
+ {
+ "id": 1,
+ "name": "游戏"
+ }
+ ]
+ },
+ {
+ "id": 2,
+ "name": "影视",
+ "fields": [
+ {
+ "id": 2,
+ "name": "影视"
+ }
+ ]
+ },
+ {
+ "id": 3,
+ "name": "科教/知识",
+ "fields": [
+ {
+ "id": 3,
+ "name": "科教/知识"
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "name": "动画/动漫",
+ "fields": [
+ {
+ "id": 4,
+ "name": "动画/动漫"
+ }
+ ]
+ },
+ {
+ "id": 5,
+ "name": "音乐/舞蹈",
+ "fields": [
+ {
+ "id": 5,
+ "name": "音乐/舞蹈"
+ }
+ ]
+ },
+ {
+ "id": 32,
+ "name": "明星/娱乐",
+ "fields": [
+ {
+ "id": 32,
+ "name": "明星/娱乐"
+ }
+ ]
+ },
+ {
+ "id": 35,
+ "name": "鬼畜",
+ "fields": [
+ {
+ "id": 35,
+ "name": "鬼畜"
+ }
+ ]
+ },
+ {
+ "id": 42,
+ "name": "时尚/健身",
+ "fields": [
+ {
+ "id": 42,
+ "name": "时尚/健身"
+ }
+ ]
+ }
+ ]
+}
+```
+
+
+
+
## 查询答题结果
> http://api.bilibili.com/x/answer/v4/result
*请求方式:GET*
-认证方式:Cookie或APP
+认证方式:无
**url参数:**
@@ -310,39 +417,40 @@ curl -G 'http://api.bilibili.com/x/answer/v4/pro/type' \
**json回复:**
-| 字段 | 类型 | 内容 | 备注 |
-| ------- | ---- | -------- | ------------------------------------------------------------ |
-| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
41014:答题过快或错误太多
41023:用户答题记录不存在 |
-| message | str | 错误信息 | 默认为0 |
-| ttl | num | 1 | |
-| data | obj | 信息本体 | |
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | ---------------------------------------------------------- |
+| code | num | 返回值 | 0:成功
-400:请求错误
41023:用户答题记录不存在 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | num | 1 | |
+| data | obj | 信息本体 | |
`data`对象:
-| 字段 | 类型 | 内容 | 备注 |
-| ----------------- | ----- | ------------------ | ------ |
-| hid | num | 答题会话id | |
-| mid | num | 答题用户mid | |
-| member | num | | |
-| score | num | 得分 | |
-| level | num | | |
-| first_pass | num | | |
-| uname | str | 答题用户昵称 | |
-| face | str | 答题用户头像url | |
-| status | str | 答题结果 | |
-| question_types | array | 已选择的自选题列表 | |
-| power | array | 自选题分类得分情况 | |
-| start_time | num | 开始答题时间 | 时间戳 |
-| share | array | | |
-| can_show_rank_btn | bool | | |
-| is_same_user | bool | | |
-| view_more | str | | |
-| video_info | obj | | |
-| main_tids | array | | |
-| sub_tids | array | | |
-| power_result | null | | |
-| score_rate | num | | |
-| permission | obj | | |
+| 字段 | 类型 | 内容 | 备注 |
+| ----------------- | ----- | ------------------------ | ----------------------------------- |
+| hid | num | 答题会话id | |
+| mid | num | 答题用户mid | |
+| member | num | | |
+| score | num | 得分 | |
+| level | num | 用户等级 | |
+| first_pass | num | | |
+| uname | str | 用户昵称 | |
+| face | str | 用户头像url | |
+| status | str | 答题结果 | failed:未通过
succeed:已通过 |
+| question_types | array | 已选择的自选题列表 | |
+| power | array | 自选题分类得分情况 | |
+| start_time | num | 开始答题时间 | 时间戳 |
+| share | obj | | |
+| can_show_rank_btn | bool | | |
+| is_same_user | bool | | |
+| view_more | str | | |
+| video_info | obj | | |
+| main_tids | array | | |
+| sub_tids | array | | |
+| power_result | null | | |
+| score_rate | num | 分数超过平均用户的百分比 | |
+| permission | obj | | |
+| rewards | null | | |
**示例:**