保利威文档中心

幫助中心

講師文件關係管理

更新時間:2022-11-14 16:59:37

介面描述

1、开启了“讲义库”功能后(如需开通请联系售后),通过此接口将讲师和公共讲义库中的文档关联起来,从而实现在不需要重复上传的情况下,多个讲师共用同一份文档
2、包括新增、解除讲师文档关系
3、接口支持https协议

介面URL

https://api.polyv.net/live/v4/channel/doc/teacher/update-relation

線上API呼叫

請求方式

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&timestamp=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": ""
}
联系客服,在线咨询