保利威文档中心

幫助中心

新增與修改影片問答

更新時間:2022-05-23 19:02:59

介面URL

https://api.polyv.net/v2/video/save-video-exam

介面說明

新增與修改問答

支援格式

JSON

請求方式

POST

請求參數

參數名 必選 類型及範圍 說明
userid string 使用者ID
ptime long 當前時間的毫秒級時間戳(13位),3分鐘內有效
sign String 簽名,為40位大寫的SHA1值【詳見簽名生成規則
vid string 影片ID
examId string 問答ID,為空時會新增一個題目。不為空時會修改已有的問答題目
showTime int 問答出現的時間,單位:秒
qustion string 問答題目描述
choices array of string 問答選項json陣列,每個題目最多5個選項
canSkip boolean 是否可跳過,預設值:false
explanationIfRight string 回答正確後的解答詳情
showExplanationIfWrong boolean 回答錯誤後是否顯示解答詳情,預設值:true
explanationIfWrong string 回答錯誤後的解答詳情
backTime int 答錯後回退到第幾秒,-1代表不回退,預設為-1

choices參數說明

示例
[
    {
        "index": 0,
        "content": "a",
        "isRight": true
    },
    {
        "index": 1,
        "content": "b",
        "isRight": false
    },
    {
        "index": 2,
        "content": "c",
        "isRight": false
    },
    {
        "index": 3,
        "content": "d",
        "isRight": true
    }
]
參數名 必選 類型及範圍 說明
index int 選項序號,題目實際順序為按此值的大小排序,請勿重複
content string 選項內容
isRight boolean 所有選項中必須至少有一個設定為正確答案,否則介面回傳錯誤。

回傳正確結果JSON範例

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "examId": "179228dfe4f"
    }
}

回傳錯誤結果JSON範例

签名不正确
{
"code":400,
"status":"error",
"message":"the sign is not right",
"data":""
}
时间戳过期
{
"code":400,
"status":"error",
"message":"ptime is too old.",
"data":""
}
vid 不存在
{
    "code": 400,
    "status": "error",
    "message": "video could not find by vid",
    "data": ""
}

欄位說明

欄位 說明
code 回傳碼
status 回傳狀態
message 回傳資訊
data 操作結果
examId 問答ID

java請求範例:

    public void testSaveVideoExam() throws Exception {
        String url = "https://api.polyv.net/v2/video/save-video-exam";
        Map<String, String> params = new HashMap<>();
        params.put("userid", userid);
        params.put("vid", "a2dc4f25172872650e7d5c1b8026b13c_a");
        params.put("examId", "179228dfe4f");
        params.put("question", "测试问题");
        params.put("showTime", "12");
        params.put("choices", "[{\"index\":0,\"content\":\"a\",\"isRight\":true},{\"index\":1,\"content\":\"b\",\"isRight\":false},{\"index\":2,\"content\":\"c\",\"isRight\":false},{\"index\":3,\"content\":\"d\",\"isRight\":true}]");
        params.put("canSkip", "false");
        params.put("explanationIfRight", "回答正确后的解答详情");
        params.put("showExplanationIfWrong", "true");
        params.put("explanationIfWrong", "回答错误后的解答详情");
        params.put("backTime", "1");
        params.put("ptime", String.valueOf(System.currentTimeMillis()));
        params.put("sign", getSign(params, secretkey));
        String response = HttpClientUtil.getInstance().sendHttpPost(url, params);
        System.out.println(response);
    }
联系客服,在线咨询