取得頻道答題卡列表
更新時間:2022-09-02 18:08:07
介面URL
https://api.polyv.net/live/v3/channel/question/list
介面說明
1、接口用于获取频道答题卡列表
2、接口支持https
支援格式
JSON
請求方式
GET
請求參數
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | 是 | string | 從API設定中取得,在直播系統登記的appId |
| timestamp | 是 | long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | 是 | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| channelId | 是 | string | 頻道號 |
| startDate | 否 | string | 查詢開始時間,格式yyyy-MM-dd(和endDate一起不傳預設查最近七天資料) |
| endDate | 否 | string | 查詢的結束時間,格式:yyyy-MM-dd(和startDate一起不傳預設查七天資料) |
| page | 否 | int | 頁號,預設為1 |
| pageSize | 否 | int | 每頁筆數,預設為10 |
回應成功JSON範例:
// 成功
{
"code": 200,
"status": "success",
"message": "",
"data": {
"pageNumber": 1,
"totalItems": 7,
"contents": [
{
"questionId": "",
"name": "text",
"type": "text",
"channelId": 4,
"userId": "text",
"note": "text",
"answer": "text",
"lastModified": 9,
"createdTime": 7,
"option4": "text",
"option5": "",
"option2": "text",
"option3": "text",
"option1": "text",
"times": 0
}
],
"startRow": 9,
"firstPage": true,
"nextPageNumber": 3,
"prePageNumber": 2,
"totalPages": 6,
"lastPage": true,
"endRow": 7,
"limit": 10,
"offset": 1
}
}
回應失敗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.pageNumber | 頁數 |
| data.limit | 每頁記錄數 |
| data.totalItems | 記錄總數 |
| data.firstPage | 是否為第一頁,值為:true/false |
| data.lastPage | 是否為最後一頁,值為:true/false |
| data.nextPageNumber | 下一頁編號 |
| data.prePageNumber | 上一頁編號 |
| data.totalPages | 總頁數 |
| data.startRow | 當前頁第一筆記錄所在列表中的位置 |
| data.endRow | 當前頁最後一筆記錄所在列表中的位置 |
| data.contents[0].questionId | 題目ID |
| data.contents[0].name | 題目名稱 |
| data.contents[0].type | 題目類型("R":單選,"C":多選,"S": 評分, "Q": 問答) |
| data.contents[0].channelId | 頻道ID |
| data.contents[0].userId | 用戶ID |
| data.contents[0].answer | 答案(abcd...) |
| data.contents[0].note | 答案解析 |
| data.contents[0].times | 第幾場答題 |
| data.contents[0].option1 | 選項1 |
| data.contents[0].option2 | 選項2 |
| data.contents[0].option3 | 選項3 |
| data.contents[0].option4 | 選項4 |
| data.contents[0].option5 | 選項5 |
| data.contents[0].lastModified | 更新時間 |
| data.contents[0].createdTime | 建立時間 |
php請求範例
<?php
//引用config.php
include 'config.php';
$params = array(
'appId' => $appId,
'timestamp' => $timestamp,
'channelId' => 108888
);
//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;
$url = "https://api.polyv.net/live/v3/channel/question/list?".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;
?>
