更新課節資訊
更新時間:2024-10-21 09:33:43
介面描述
1、更新课节信息
2、(timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议
介面URL
http://api.polyv.net/hi-class-api/open/lesson/v1/update
請求方式
POST
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳記,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值【詳見簽名產生規則】 |
請求體參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
| name | false | String | 課節名稱,長度1~128 |
| startTime | false | Long | 開始時間,格式為: 13位時間戳 |
| duration | false | Integer | 上課時長,單位: 分鐘,5~180 |
| linkNumber | false | Integer | 連麥人數,0~16 |
| autoConnectMicroEnabled | false | String | 是否自動連麥 Y:自動連麥 N:手動上麥 |
| autoRecordCourseEnabled | false | String | 是否自動錄製課程 Y:自動錄製 N:手動錄製 |
| watchCondition | false | String | 觀看條件 NULL:無條件 CODE:驗證碼 WHITE_LIST:白名單 DIRECT:獨立授權 |
| code | false | String | 當觀看條件為CODE時需填寫觀看驗證碼(限制16位以內) |
| secretKey | false | String | 觀看條件為獨立授權時傳送,不傳則後台自動生成(限制32位以內) |
| resolution | false | Integer | 錄製清晰度, 720, 1080 |
| playResolution | false | Integer | 上課清晰度, 360(如需設定更高清晰度,請聯繫相關工作人員) |
| cover | false | String | 封面地址URL,長度1~255 |
| teacherId | false | String | 老師id,如不傳,則不更新,如果傳入的是新的id,則根據下列老師資訊創建一個新的老師 |
| teacherName | false | String | 老師名稱,如傳入的資訊可查找到現有老師,會更新老師名稱 |
| teacherCode | false | String | 老師登入手機區號,預設 +86 |
| teacherMobile | false | String | 老師手機號碼,長度5~15 |
| teacherPasswd | false | String | 老師密碼,長度6~8 |
範例
http://api.polyv.net/hi-class-api/open/lesson/v1/update?appId=frlr1zazn3&sign=FBEFF2002BBF2A78DD1639A06F590A7C×tamp=1634629627718
請求體參數
{
"code": "5678",
"linkNumber": "1",
"teacherName": "六老师",
"lessonId": "8970",
"playResolution": "360",
"teacherCode": "+86",
"resolution": "720",
"duration": "60",
"cover": "https://liveimages.videocc.net/uploaded/images/2021/08/g1xcu49u12.jpg",
"watchCondition": "CODE",
"teacherId": "g3fdl05syf",
"name": "测试修改课节",
"teacherMobile": "15555555555",
"startTime": "1634630909795",
"autoConnectMicroEnabled": "N",
"teacherPasswd": "123456"
}
響應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 響應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 響應狀態文字資訊 |
| error | Error | 錯誤物件【詳見全域錯誤說明】 |
| data | Object | 請求失敗時為空,請求成功時為更新狀態資訊 【詳見data欄位描述】 |
data欄位描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| status | Boolean | true:成功; false:失敗 |
Java請求範例
快速接入基礎代碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
private static final Logger log = LoggerFactory.getLogger(VClassLessonTest.class);
/**
* 更新课节信息
* @throws IOException
*/
@Test
public void updateLesson() 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/update";
String lessonId = "8970";
String name = "测试修改课节";
String startTime = "1634630909795";
String duration = "60";
String linkNumber = "1";
String autoConnectMicroEnabled = "N";
String watchCondition = "CODE";
String code = "5678";
String resolution = "720";
String playResolution = "360";
String cover = "https://liveimages.videocc.net/uploaded/images/2021/08/g1xcu49u12.jpg";
String teacherId = "g3fdl05syf";
String teacherName = "六老师";
String teacherCode = "+86";
String teacherMobile = "15555555555";
String teacherPasswd = "123456";
//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);
jsonMap.put("name", name);
jsonMap.put("startTime", startTime);
jsonMap.put("duration", duration);
jsonMap.put("linkNumber", linkNumber);
jsonMap.put("autoConnectMicroEnabled", autoConnectMicroEnabled);
jsonMap.put("watchCondition", watchCondition);
jsonMap.put("code", code);
jsonMap.put("resolution", resolution);
jsonMap.put("playResolution", playResolution);
jsonMap.put("cover", cover);
jsonMap.put("teacherId", teacherId);
jsonMap.put("teacherName", teacherName);
jsonMap.put("teacherCode", teacherCode);
jsonMap.put("teacherMobile", teacherMobile);
jsonMap.put("teacherPasswd", teacherPasswd);
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url, JSON.toJSONString(jsonMap), null);
log.info("测试修改课节成功:{}", response);
}
響應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"requestId": "5bc5c3a4a88a487192cb0256b1dadb7f.97.16346296311239761",
"data": {
"status": true
},
"success": true
}
異常範例
{
"code": 400,
"status": "error",
"data": "",
"error": {
"code": xx,
"desc": "错误描述"
}
}
