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