Ioclass实验空间接口文档

Updated@ 04.20.2020

返回结果值集合:

status

msg

描述

1

success

执行成功

1001

error_signature_invalid

签名验证错误

1003

error_method_not_exist

方法不存在

1006

error_user_not_exist

用户不存在

1010

error_course_invalid

课程不存在

1099

error_unknown

其他错误(描述性文字)

注:返回结果的完整数据为JSON字符串,如

{status:1001,msg:error_signature_invalid}


签名生成规则php语言为例,说明签名生成规则

$tmpArr = array($this->secretkey, $timestamp, $nonce);  //构建一个数组

sort($tmpArr, SORT_STRING);   //将数组每一项作为字符串,进行升序排序

$tmpStr = implode($tmpArr);  //将数组连接为字符串

$tmpStr = sha1($tmpStr);   //对字符串进行sha1加密

注:secretkey在Ioclass虚拟仿真课程后台填写。


接口一:Ioclass跳转至实验空间,实验空间实现自动登录

请求地址:实验空间的地址,在Ioclass虚拟仿真课程后台填写。

参数名称

数据类型

描述

signature

String

签名字符串

nonce

String

随机字符串,用于生成签名

timestamp

Int

10位整型时间戳,用于生成签名

cid

Int

Ioclass的课程id,实验空间回传实验结果至Ioclass时要用到

username

String

Ioclass的会员账号,实验空间回传实验结果至Ioclass时要用到

Ioclass跳转到实验空间的完整url如下:

http://101.201.78.233/?signature=xxx&nonce=xxx×tamp=xxx&cid=xxx&username=xxx

实验空间接收到参数以后,使用secretkey验证signature是否一致,如果一致则在本地保存cid、username,在回传实验结果至Ioclass时,要传递该cid、username。

注:secretkey是一个在Ioclass与实验空间同时存在的安全密钥,用于加密和解密数据;在Ioclass虚拟仿真课程后台填写。


接口二:实验空间回传实验结果数据

接口地址:https://www.ioclass.com/api/experiment

参数名称

数据类型

描述

act

String

score(固定值)

signature

String

签名字符串

nonce

String

随机字符串,用于生成签名

timestamp

Int

10位整型时间戳,用于生成签名

cid

Int

Ioclass的课程id

username

String

Ioclass的会员账号

score

Int

实验得分,0-10的整数