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的整数 |