講師文件關係管理
更新時間:2022-11-14 16:59:37
介面描述
1、开启了“讲义库”功能后(如需开通请联系售后),通过此接口将讲师和公共讲义库中的文档关联起来,从而实现在不需要重复上传的情况下,多个讲师共用同一份文档
2、包括新增、解除讲师文档关系
3、接口支持https协议
介面URL
https://api.polyv.net/live/v4/channel/doc/teacher/update-relation
請求方式
POST
介面限制
1、介面呼叫有頻率限制,詳細請查看
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳記,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值【詳見簽名產生規則】 |
| operation | true | Integer | 操作, 1:新增綁定關係,若綁定關係已經存在,則不再新增,只更新關聯時間,查詢列表時預設會根據此關聯時間倒序排序 2:解除綁定關係 |
| teacherId | true | String | 講師ID,32個以內ASCII碼可見字元,係【建立頻道介面】或【更新頻道介面】所傳入的 customTeacherId |
| fileIds | true | String | 文件ID,多個文件ID以,分隔,一次最多傳入100個 |
範例
https://api.polyv.net/live/v4/channel/doc/teacher/update-relation&appId=frlr1zazn3&operation=1&sign=FC2296E942D2DB118C64C11AD941445D&teacherId=p001×tamp=1661754430000
表單參數,不參與簽名,Content-Type:application/x-www-form-urlencoded
fileIds=xxxxxxxxe674c952815ad1a09c66e10xxxxxxxxcommon
回應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| message | String | 回應描述資訊,當code為400或者500時,輔助描述錯誤原因 |
| data | Object | 暫無 |
Data參數描述
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。
/**
* 更新讲师文档关系
*/
@Test
public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
// 公共参数,填写自己的实际参数,需放置于QueryString
String appId = super.appId;
String appSecret = super.appSecret;
String userId = super.userId;
String timestamp = String.valueOf(System.currentTimeMillis());
// 业务参数
Integer operation = 1;
String teacherId = "tid";
String fileIds = "xxxxxxxxxxxxxjg112hhs71zzza888axxxxxxxxcommon,xxxxxxxxxxxx123451a30dd21919999xxxxxxxxcommon";
String url = "https://api.polyv.net/live/v4/channel/doc/teacher/update-relation";
// QueryString中参数需要参与生成签名
Map<String,String> queryStringMap = new HashMap<>();
// 公共参数
queryStringMap.put("appId", appId);
queryStringMap.put("timestamp", timestamp);
// 业务参数
queryStringMap.put("operation", String.valueOf(operation));
queryStringMap.put("teacherId", teacherId);
// 生成签名
String sign = LiveSignUtil.getSign(requestMap, appSecret);
queryStringMap.put("sign", sign);
// 将参数放置于QueryString
url = HttpUtil.appendUrl(url, requestMap);
System.out.println(url);
// 请求体参数,不参与签名
Map<String,String> formBodyMap = new HashMap<>();
formBodyMap.put("fileIds", fileIds);
// 发起 post application/x-www-form-urlencoded 请求获取到响应数据 response
String response = HttpUtil.postFormBody(url, formBodyMap);
System.out.println(response);
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code":200,
"status":"success",
"message":"",
"data":null
}
異常範例
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
