查询观众回答频道问卷详情
接口URL
https://api.polyv.net/live/v3/channel/questionnaire/detail-by-viewer
接口说明
1、接口用于查询观众回答频道问卷详情
2、问卷ID可以从获取频道问卷列表中获取
3、接口支持https
返回结果格式
JSON
请求方式
GET
请求参数
参数名
必选
类型
说明
appId
是
string
从API设置中获取,在直播系统登记的appId
timestamp
是
long
当前13位毫秒级时间戳,3分钟内有效
sign
是
String
签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据
【详见签名生成规则】
channelId
是
int
频道号
questionnaireId
是
string
问卷id
viewerId
是
string
观众ID
响应成功JSON示例:
{
"code": 200,
"status": "success",
"message": "",
"data": {
"questionnaireId": "fefg598lfj",
"customQuestionnaireId": "ddddxxx222",
"channelId": 108888,
"userId": "edvf2fpec9",
"name": "测试问卷_1564105496583",
"status": "forbidden",
"createdTime": 1564105498000,
"lastModified": 1564105498000,
"endTime": 1564105580000,
"questions": [
{
"questionId": "3839e04e78",
"channelId": 108888,
"userId": "edvf2fpec9",
"name": "您觉得课程怎么样",
"type": "C",
"option1": "好",
"option2": "很好",
"option3": "非常好",
"option4": "超级好",
"option5": "以上都对",
"createdTime": 1564105498000,
"lastModified": 1564105498000,
"answer": "",
"note": null,
"templateId": null,
"status": "draft",
"times": 0,
"tips1": null,
"tips2": null,
"tips3": null,
"tips4": null,
"tips5": null,
"required": "Y",
"scoreEnabled": "N",
"option6": "",
"option7": "",
"option8": "",
"option9": "",
"option10": "",
"score": null,
"itemType": 0,
"viewerId": "xsxxxxx",
"param4": "",
"param5": "",
"nickname": "aaa",
"recordAnswer": "C"
},
{
"questionId": "c908c81e80",
"channelId": 108888,
"userId": "edvf2fpec9",
"name": "今后还会不会来",
"type": "R",
"option1": "会",
"option2": "不会",
"option3": "",
"option4": "",
"option5": "",
"createdTime": 1564105498000,
"lastModified": 1564105498000,
"answer": "",
"note": null,
"templateId": null,
"status": "draft",
"times": 0,
"tips1": null,
"tips2": null,
"tips3": null,
"tips4": null,
"tips5": null,
"required": "Y",
"scoreEnabled": "N",
"option6": "",
"option7": "",
"option8": "",
"option9": "",
"option10": "",
"score": null,
"itemType": 0,
"viewerId": "xsxxxxx",
"param4": "",
"param5": "",
"nickname": "aaa",
"recordAnswer": "C"
}
]
}
}
响应失败JSON示例:
未输入appId
{
"code": 400,
"status": "error",
"message": "appId is required.",
"data": ""
}
appId不正确
{
"code": 400,
"status": "error",
"message": "application not found.",
"data": ""
}
时间戳错误
{
"code": 400,
"status": "error",
"message": "invalid timestamp.",
"data": ""
}
签名错误
{
"code": 403,
"status": "error",
"message": "invalid signature.",
"data": ""
}
问卷ID不存在
{
"code": 400,
"data": "",
"message": "questionnaire is not exist",
"status": "error"
}
字段说明
参数名
说明
code
响应代码,成功为200,失败为400,签名错误为403,异常错误500
status
成功为success,失败为error
message
错误时为错误提示消息
questionnaireId
问卷ID
customQuestionnaireId
用户自定义问卷ID
channelId
频道ID
userId
用户ID
name
问卷名称
status
问卷状态
createdTime
问卷创建时间
endTime
停止问卷时间
questions
问卷问题列表
问卷问题模型类question
参数名
说明
questionId
问题ID
name
问题题目
type
问题类型,取值:R 单选;C 多选;S 评星题;Q 问答
option1~10
选项A~G 的内容
createdTime
创建时间
lastModified
最后修改时间
scoreEnabled
是否计分,取值Y、N
score
题目分值
required
是否必填,取值Y、N
answer
问题答案
recordAnswer
问题回答答案
viewerId
观众ID
nickname
观众昵称
param4
自定义参数
param5
自定义参数
Java请求示例
public static void test() {
String url = "https://api.polyv.net/live/v3/channel/questionnaire/detail-by-viewer";
// 用户对应的appId和加密串
String appId = "xxxxxxxxx";
String appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
int channelId = 10001;
String questionnaireId = "xxxxx";
String viewerId = "xxxxx";
Map<String, String> params = new HashMap<>();
params.put("channelId", String.valueOf(channelId));
params.put("questionnaireId", questionnaireId);
params.put("viewerId", viewerId);
PolyvTool.setLiveSign(params, appId, appSecret);
// 调用Polyv的httpClient工具类发送请求
String content = HttpClientUtil.getInstance()
.sendHttpGet(url + "?" + PolyvTool.mapJoinNotEncode(params));
System.out.println(content);
}
Last updated
Was this helpful?