查询单个视频的问答题目
更新时间:2026-01-20 14:07:15
接口描述
1、通过视频id查询单个视频的问答题目
2、接口支持https协议
接口URL
http://api.polyv.net/v2/video/get-video-exam
请求方式
GET
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
请求参数描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| userid | true | String | 保利威点播账户id,可以参考【获取密匙】获取,获取路径:官网->登录->点播(API接口) |
| ptime | true | Long | 当前时间的毫秒级时间戳,3分钟内有效 |
| sign | true | String | 签名,为40位大写的SHA1值,生成签名的secretkey密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则】 |
| vid | true | String | 视频id |
示例
http://api.polyv.net/v2/video/get-video-exam
表单参数:
vid=1b448be3231ebf0005ec631a7e4247ee_1&sign=738445A034D8F70D3625E0C761EE26A4E9F3446B&userid=1b448be323&ptime=1620287966337
响应参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200为成功返回,非200为失败【详见全局错误说明】 |
| status | String | 响应状态文本信息 |
| message | String | 响应描述信息,当code为400或者500的时候,辅助描述错误原因 |
| data | Object | 响应成功时返回答题记录数组,失败时返回空【详见data字段说明】 |
data字段描述
| 字段 | 类型 | 说明 |
|---|---|---|
| exams | Array | 问答列表【详见exams字段说明】 |
exams字段描述
| 字段 | 类型 | 说明 |
|---|---|---|
| vid | String | 视频ID |
| examId | String | 问答ID |
| showTime | Integer | 问答出现的时间,单位:秒 |
| qustion | String | 问答题目描述 |
| choices | String | 问答选项内容,格式为json数组,每个题目最多5个选项 |
| canSkip | Boolean | 是否可跳过,默认值:false |
| explanationIfRight | String | 回答正确后的解答详情 |
| showExplanationIfWrong | String | 回答答错误后是否显示解答详情 |
| explanationIfWrong | Boolean | 回答错误后的解答详情 |
| backTime | Integer | 答错后回退到第几秒,-1代表不回退,默认为-1 |
| status | Integer | 是否有效,1:有效,0:无效,默认为1 |
| type | Integer | 题目类型,0:选择题,1:听力题(听力题即将下线) |
| mp3url | String | 听力题的mp3音频文件url(听力题即将下线) |
| illustration | String | 问答图片url |
| createdTime | Long | 问答创建时间,格式为13位时间戳,例如 1767003468000 |
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。
强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(VodVideoManageManagementTest.class);
/**
* 查询问答题目
*/
@Test
public void testGetQuizResult() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String secretKey = super.secretKey;
String userId = super.userId;
String ptime = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/v2/video/get-video-exam";
String vid = "1b448be3231ebf0005ec631a7e4247ee_1";
//调用参数
Map<String, String> requestMap = new HashMap<>();
requestMap.put("userid", userId);
requestMap.put("ptime", ptime);
requestMap.put("vid", vid);
requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));
String response = HttpUtil.get(url, requestMap);
log.debug("测试查询问答题目,{}", response);
//do something
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code":200,
"status":"success",
"message":"success",
"data":{
"exams":[
{
"examId":"179407cbb9b",
"vid":"1b448be3231ebf0005ec631a7e4247ee_1",
"showTime":3,
"question":"测试删除问答",
"choices":"[{\"index\":0,\"content\":\"1\",\"right\":false},{\"index\":1,\"content\":\"2\",\"right\":true}]",
"explanationIfRight":"123",
"explanationIfWrong":"321",
"showExplanationIfWrong":true,
"backTime":1,
"canSkip":true,
"illustration":null,
"type":0,
"mp3Url":"",
"status":1,
"createdTime":1620284587000
},
{
"examId":"1794097a449",
"vid":"1b448be3231ebf0005ec631a7e4247ee_1",
"showTime":2,
"question":"测试创建问答题目?",
"choices":"[{\"index\":0,\"content\":\"a\",\"right\":true},{\"index\":1,\"content\":\"b\",\"right\":false},{\"index\":2,\"content\":\"c\",\"right\":false}]",
"explanationIfRight":"答对啦",
"explanationIfWrong":"答错了",
"showExplanationIfWrong":true,
"backTime":1,
"canSkip":false,
"illustration":null,
"type":0,
"mp3Url":"",
"status":1,
"createdTime":1620286350000
}
]
}
}
异常示例
签名不正确
{
"code": 400,
"status": "error",
"message": "the sign is not right",
"data": ""
}
时间戳过期
{
"code": 400,
"status": "error",
"message": "ptime is too old.",
"data": ""
}
