# 根据题目ID获取用户的答题记录的分页结果

### 接口URL

```
http://api.polyv.net/live/v2/channels/{channelId}/get-question-record
```

### 接口说明

```
1、作用：获取直播答题的用户答题记录的分页结果。
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID
```

### 支持格式

```
JSON
```

### 请求方式

```
GET
```

### 请求数限制

```
TRUE
```

### 请求参数

| 参数名        | 必选 | 类型     | 说明                                                                                                                                                                                                        |
| ---------- | -- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId      | 是  | string | 从API设置中获取，在直播系统登记的appId                                                                                                                                                                                   |
| timestamp  | 是  | string | 当前13位毫秒级时间戳，3分钟内有效                                                                                                                                                                                        |
| page       | 是  | string | 页数                                                                                                                                                                                                        |
| pageSize   | 否  | string | 每页显示的数据条数，默认每页显示1000条数据                                                                                                                                                                                   |
| questionId | 是  | string | 要查询的题目ID                                                                                                                                                                                                  |
| sign       | 是  | String | 签名，为32位大写的MD5值,`生成签名的appSecret密钥作为通信数据安全的关键信息，严禁保存在客户端直接使用，所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据`【详见[签名生成规则](https://git.polyv.net/help-center/document-center/-/blob/master/live/api/buildSign/README.md)】 |

### 响应成功JSON示例：

```json
{
"code": 200,
"status": "success",
"message": "",
"data": {
"pageNumber": 1,
"totalItems": 1,
"contents": [
{
"recordId": "ezik85p9kw",
"channelId": 10001,
"questionId": "1c6dc3c666",
"viewerId": "oooii099",
"viewerName": "哈哈哈哈",
"answer": "a",
"createdTime": 1522032824000,
"lastModified": 1522032824000
}
],
"endRow": 1,
"lastPage": true,
"totalPages": 1,
"firstPage": true,
"startRow": 1,
"nextPageNumber": 1,
"prePageNumber": 1,
"offset": 0,
"limit": 1
}
}
```

### 响应失败JSON示例：

未输入appId

```json
{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}
```

appId不正确

```json
{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}
```

时间戳错误

```json
{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}
```

签名错误

```json
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
```

未输入currentDay

```json
{
    "code": 400,
    "status": "error",
    "message": "currentDay is empty.",
    "data": ""
}
```

频道不存在

```json
{
    "code": 400,
    "status": "error",
    "message": "channel not found.",
    "data": ""
}
```

非法的频道ID

```json
{
    "code": 403,
    "status": "error",
    "message": "invalid channelId.",
    "data": ""
}
```

### 字段说明

| 参数名            | 说明                    |
| -------------- | --------------------- |
| code           | 响应的状态码，例如：200         |
| status         | 响应状态                  |
| message        | 异常错误信息                |
| data           | 响应结果集                 |
| pageNumber     | 当前的页数                 |
| totalItems     | 总的条数                  |
| contents       | 查询的结果列表               |
| recordId       | 答题记录的ID               |
| channelId      | 频道号                   |
| questionId     | 题目ID                  |
| viewerId       | 答题用户的用户ID             |
| viewerName     | 答题用户的昵称               |
| answer         | 提交的选择项                |
| createdTime    | 创建日期 (13位时间戳)         |
| lastModified   | 更新日期 (13位时间戳)         |
| firstPage      | 是否为第一页，值为：true/false  |
| lastPage       | 是否为最后一页，值为：true/false |
| nextPageNumber | 下一页编号                 |
| prePageNumber  | 上一页编号                 |
| totalPages     | 总页数                   |
| startRow       | 当前页第一个记录在的位置          |
| endRow         | 当前页最后一个记录的位置          |
| limit          | 当前页记录个数               |

### php请求示例

```php
<?php

//引用config.php
include 'config.php';

//接口需要的参数（非sign）赋值
$channelId = "124545";
$questionId = "1c6dc3c666";  
$page = "1"; //页数
$pageSize="10";//每页显示的数据

$params = array(
    'appId'=>$appId,
	'questionId'=>$questionId,
	'page'=>$page,
	'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.polyv.net/live/v2/channels/$channelId/set-question-record?appId=$appId&questionId=$questionId&page=$page&pageSize=$pageSize&timestamp=$timestamp&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);
  
?>
```
