取得答題卡單道題目的答題彙總
更新時間:2022-09-02 18:08:07
介面URL
http://api.polyv.net/live/v3/channel/question/detail
介面說明
1、接口用于获取答题卡单道题目的答题汇总
2、接口支持https
請求方式
GET
請求參數
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | 是 | string | 從API設定中取得,在直播系統登記的appId |
| timestamp | 是 | long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | 是 | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在客戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| channelId | 是 | string | 頻道號 |
| questionId | 是 | string | 題目ID,從題目列表中取得 |
| times | 是 | int | 第幾次的答題詳情,用於同一道題發送了多次的情況,從題目列表中取得 |
回應成功JSON範例:
// 成功
{
"code": 200,
"status": "success",
"message": "",
"data": {
"question": [
{
"count": 155,
"tips": "",
"option": "7"
},
{
"count": 88,
"tips": "",
"option": "8"
},
{
"count": 24,
"tips": "",
"option": "9"
},
{
"count": 135,
"tips": "",
"option": "10"
}
],
"total": 402,
"answer": "",
"correctRecord": 0,
"title": "请您为选手打分",
"type": "S",
"itemType": 0
}
}
回應失敗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": ""
}
欄位說明
| 參數名 | 說明 |
|---|---|
| code | 回應的狀態碼,例如:200 |
| status | 回應狀態 |
| message | 異常錯誤資訊 |
| data | 回應結果集 |
| data.question | 問題的各選項統計列表 |
| data.question[0].option | 問題的選項 |
| data.question[0].count | 問題選項的選擇數量 |
| data.question[0].count | 問題選項的提示 |
| data.total | 回答問題的總數量 |
| data.correctRecord | 正確回答問題的總數量 |
| data.answer | 問題的答案 |
| data.title | 問題內容 |
| data..type | 題目類型("R":單選,"C":多選,"S": 評分, "Q": 問答, "V": 投票) |
| data.itemType | 答題卡為0,問答為1 |
php請求範例
<?php
//引用config.php
include 'config.php';
$params = array(
'appId' => $appId,
'timestamp' => $timestamp,
'channelId' => 108888,
'questionId' => "zxcvbnm",
'times' => 1
);
//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;
$url = "http://api.polyv.net/live/v3/channel/question/detail?".http_build_query($params);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
echo $res;
?>
