查詢頻道問卷結果
更新時間:2026-06-12 09:57:59
介面描述
1、查询直播问卷的答题结果及统计
2、接口支持https协议
3、参数问卷ID、场次号、查询时间同时存在多个时,按参数优先级从小到大,选其中一个参数作为查询条件
介面URL
http://api.polyv.net/live/v3/channel/questionnaire/answer-records
請求方式
GET
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| channelId | true | String | 頻道號 |
| questionnaireId | false | String | 問卷ID,優先級1,該參數取得自【查詢頻道問卷列表】 |
| sessionId | false | String | 場次號,優先級2 |
| startDate | false | String | 開始時間,優先級3,格式:yyyy-MM-dd,預設查最近7天資料 |
| endDate | false | String | 結束時間,優先級3,格式:yyyy-MM-dd,預設查最近7天資料 |
範例
https://api.polyv.net/live/v3/channel/questionnaire/answer-records?endDate=2022-1-1&appId=frlr1zazn3&sign=92DC9A760C540DDCC7D7A3A020588DF8&channelId=1965681&startDate=2020-1-1×tamp=1621845075669
回應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| message | String | 回應描述資訊,當code為400或500時,輔助描述錯誤原因 |
| data | Array | 成功回應時為問卷基本資訊 【詳見data欄位說明】 |
data欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| questionnaireId | String | 問卷ID |
| customQuestionnaireId | String | 使用者自訂問卷ID |
| questionnaireTitle | String | 問卷名稱 |
| questionnaireType | String | 問卷類型,取值:survey:問卷調查 exam:隨堂測驗 lottery:問卷抽獎 |
| lastModified | Long | 更新時間,13位毫秒級時間戳 |
| endTime | Long | 問卷結束時間,13位毫秒級時間戳 |
| questionStats | Object | 問卷下各個問題的答題統計 【詳見questionStats欄位說明】 |
| users | Array | 觀看端提交答題的資訊 【詳見users欄位說明】 |
questionStats欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| questions | Array | 問卷問題列表 【詳見questions欄位說明】 |
| total | Integer | 題目的答題人數 |
questions欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| questionId | String | 題目ID |
| questionName | String | 題目名稱 |
| score | Integer | 題目分數 |
| totalScore | Integer | 題目的總得分 |
| correctCount | Integer | 題目的答對人數 |
| a-t | Integer | 選擇項a到t分別的答題人數 |
users欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| viewerId | String | 提交問卷的使用者ID |
| nickname | String | 提交問卷的使用者暱稱 |
| totalScore | Integer | 提交問卷的使用者的總得分 |
| submitTime | Long | 提交問卷的日期,13位的時間戳 |
| answers | Array | 使用者每道題目的答題情況 【詳見answers欄位說明】 |
| param4 | String | 自訂參數,用於標誌唯一觀眾 |
| param5 | String | 自訂參數,用於標誌唯一觀眾 |
answers欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| questionId | String | 題目ID |
| questionName | String | 題目名稱 |
| answer | String | 提交的題目答案 |
| score | Integer | 使用者答題的得分 |
| type | String | 題目的類型 R:單選題 C:多選題 Q:問答題 J:判斷題 X:評星題 |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。
private static final Logger log = LoggerFactory.getLogger(LiveInteractionTest.class);
/**
* 查询频道问卷结果
* @throws IOException
*/
public void testGetQuestionnaireResult() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId=super.appId;
String appSecret=super.appSecret;
String userId = super.userId;
String timestamp=String.valueOf(System.currentTimeMillis());
//业务参数
String channelId = "1965681";
String startDate = "2020-1-1";
String endDate = "2022-1-1";
String url = "https://api.polyv.net/live/v3/channel/questionnaire/answer-records";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("startDate",startDate);
requestMap.put("endDate",endDate);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url,requestMap);
log.info("测试查询频道问卷结果接口返回值:{}",response);
//do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"message": "",
"data": [{
"questionnaireId": "fs9skpv22f",
"questionnaireTitle": "测试试卷,明天会更好调查2",
"lastModified": 1603158379000,
"endTime": 1603158379000,
"questionStats": {
"questions": [{
"questionId": "f790a51167de4dc0b48f4b184f90be96",
"questionName": "您的兴趣爱好?",
"score": 20,
"totalScore": 20,
"total": 2,
"correctCount": 1,
"a": 2,
"b": 1,
"c": 0,
"d": 0,
"e": 0,
"f": 0,
"g": 0,
"h": 0,
"i": 0,
"j": 0
}],
"total": 2
},
"users": [{
"viewerId": "1603157068752",
"nickname": "长沙观众/30182",
"submitTime": 1603158235000,
"totalScore": 0,
"answers": [{
"questionId": "4e8bfb9e0a3a465c825b3412d248bade",
"questionName": "您的职务?",
"answer": "这是职务",
"score": 0,
"type": "Q"
}],
"param4": null,
"param5": null
}, {
"viewerId": "1603158143775",
"nickname": "长沙观众/62648",
"submitTime": 1603158312000,
"totalScore": 20,
"answers": [{
"questionId": "4e8bfb9e0a3a465c825b3412d248bade",
"questionName": "您的职务?",
"answer": "teacher",
"score": 0,
"type": "Q"
}],
"param4": null,
"param5": null
}],
"customQuestionnaireId": null
}, {
"questionnaireId": "fs9v59nq4u",
"questionnaireTitle": "测试试卷,明天会更好调查1",
"lastModified": 1603163828000,
"endTime": 1603163828000,
"questionStats": {
"questions": [{
"questionId": "84c4fcf2a54e4b19859edfaa23e49f1a",
"questionName": "您的兴趣爱好?",
"score": 20,
"totalScore": 0,
"total": 1,
"correctCount": 0,
"a": 1,
"b": 0,
"c": 1,
"d": 0,
"e": 0,
"f": 0,
"g": 0,
"h": 0,
"i": 0,
"j": 0
}],
"total": 1
},
"users": [{
"viewerId": "1603158143775",
"nickname": "长沙观众/62648",
"submitTime": 1603163818000,
"totalScore": 0,
"answers": [{
"questionId": "176a1be7f8f04cb2b9e3691e14a3ae22",
"questionName": "您的性别",
"answer": "B",
"score": 0,
"type": "R"
}],
"param4": null,
"param5": null
}],
"customQuestionnaireId": null
}]
}
異常範例
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
