取得課節資訊
更新時間:2024-10-21 09:33:43
介面說明
1、获取课节信息
2、接口支持https协议
介面URL
http://api.polyv.net/hi-class-api/open/lesson/v1/get
請求方式
POST
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳記,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值【詳見簽名產生規則】 |
請求體參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
範例
http://api.polyv.net/hi-class-api/open/lesson/v1/get?appId=frlr1zazn3&sign=A80D0E7115D0D1BF5648AE2AB123C0FD×tamp=1621839827266
請求體參數
{
"lessonId": 1
}
回應參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| error | Error | 錯誤物件【詳見全域錯誤說明】 |
| data | Object | 請求失敗時為空,請求成功時為課節資訊 【詳見data欄位說明】 |
data欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| lessonId | Long | 課節ID |
| name | String | 課節名稱 |
| teacherId | String | 老師ID |
| teacherCode | String | 老師登入手機區碼 |
| teacherMobile | String | 老師帳號 |
| teacherPasswd | String | 老師帳號密碼 |
| startTime | Long | 開始時間,格式為: 13位時間戳 |
| endTime | Long | 結束時間,格式為: 13位時間戳 |
| duration | Integer | 上課時長,單位: 分鐘 |
| status | Integer | 課節狀態 0:未開始 1:上課中 2:已下課 11:禁止上課 |
| linkNumber | Integer | 連線人數 0 - 16 |
| autoConnectMicroEnabled | String | 是否自動連線 Y:自動連線 N:手動上線 |
| autoRecordCourseEnabled | String | 是否自動錄製課程 Y:自動錄製 N:手動錄製 |
| watchCondition | String | 觀看條件 NULL:無條件 CODE:驗證碼 WHITE_LIST:白名單 DIRECT:獨立授權 |
| code | String | 觀看密碼,當觀看條件為CODE時需填寫密碼 |
| secretKey | String | 授權觀看KEY |
| cover | String | 封面URL |
| resolution | Integer | 錄製清晰度, 720, 1080 |
| playResolution | Integer | 上課清晰度, 360 |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
/**
* 获取课节信息
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void getLesson() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/hi-class-api/open/lesson/v1/get";
String lessonId = "8970";
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("lessonId", lessonId);
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url, JSON.toJSONString(jsonMap), null);
log.info("测试获取课节信息成功:{}", response);
//do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"data": {
"lessonId": 3,
"lessonCode": "bmv87857",
"name": "课节ABC",
"status": 0,
"startTime": "2021-06-16 18:23",
"endTime": "2021-06-16 19:03",
"duration": 40,
"cover": "//s1.videocc.net/default-img/small-class/default-cover.png",
"teacherId": "fzkl43t2k1",
"teacherName": "张老师",
"webStartUrl": "https://s.vclass.com/live-web-hi-class/teacher/login?lessonId=3",
"watchStartUrl": "https://s.vclass.com/live-web-hi-class/student/login?lessonId=3",
"aloneWatch": "N",
"teacherCode": "+86",
"teacherMobile": "150188750789",
"teacherPasswd": "123456",
"linkNumber": 1,
"autoConnectMicroEnabled": "Y",
"autoRecordCourseEnabled": "Y"
},
"success": true
}
異常範例
{
"code": 400,
"status": "error",
"data": "",
"error": {
"code": xx,
"desc": "错误描述"
}
}
