接入
猿圈API可以通过申请获得appid和secret,在浏览器中实现完整的开发环境,为你的产品提供最专业的在线编译和技术测评功能。
状态码说明
状态码 | 说明 |
---|---|
-1 | 请求受限 |
1 | 请求成功 |
10000 | 服务错误 |
10001 | appid错误 |
10002 | secret错误 |
10003 | 第三方合作不存在 |
10004 | Access_token错误 |
10005 | project_id错误,project_id为数字,以英文逗号间隔 |
10006 | 题目数目错误,一个挑战包含2-6个编程题目 |
10007 | 缺少题目方向 |
10008 | 题目ID错误 |
10009 | recruit_id错误 |
获取access_token
接口地址
Copy
https://open-api.oxcoder.com.cn/OxcoderDev/open/chuanke/get_access_token
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
appid | 应用申请唯一id | 是 | |
secret | 密码 | 是 |
结果
Copy
{"content":{"data":{"expire":7200,"access_token":"e7668a2176b55598f0bb949daae047ec5c1d20349a5071f05cfab8105fc66bb7"},"rows":[]},"message":"操作成功","state":1}
说明
access_token
:全局唯一
expire
:过期时间,单位:秒
获取user_token
接口地址
Copy
httsp://open-api.oxcoder.com.cn/OxcoderDev/open/chuanke/get_user_token
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
access_token | 全局唯一令牌 | 是 | |
user_flag | 接口调用者提供的用户唯一标志位 | 是 |
结果
Copy
{"content":{"data":{"user_token":"e7668a2176b55598f0bb949daae047ec5c1d20349a5071f05cfab8105fc66bb7"},"rows":[]},"message":"操作成功","state":1}
说明
user_token
:全局唯一,接口调用者请求用户相关的信息的用户信息标志位,不会变化,接口调用者需要自行维护
获取编程题目列表
接口地址
Copy
https://open-api.oxcoder.com.cn/OxcoderDev/open/customize/challenge_list_json
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
access_token | 全局唯一令牌 | 是 | |
direction | Int类型,题目的方向,具体对应关系请查看备注。 | 是 | 1-Java;2-安卓;3-iOS;4-C语言;5-C++;6-php;7-python;10-前端 |
结果
成功示例如下:
Copy
{
"state": 1,
"message": "请求成功",
"content": {
"data": {},
"rows": [
{
"pshowname": "日期比较",
"project _id": 1,
"level": 1,
"pname": "DateCompare",
"countdown": 300,
"ability": "java 日期大小比较\n",
"direction": 1,
"target": "java 日期大小比较\n"
},
{
"pshowname": "大小写转换",
"project_id": 2,
"level": 1,
"pname": "CaseSwitch",
"countdown": 300,
"ability": "java 字符串大小写转换\n",
"direction": 1,
"target": "java 字符串大小写转换\n"
}
]
}
}
说明
rows
是题目信息的List
创建挑战
接口地址
Copy
https://open-api.oxcoder.com.cn/OxcoderDev/open/customize/create_recruit
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
access_token | 全局唯一令牌 | 是 | |
project_id | 题目的id,以英文逗号分隔的数字,2到6个,如2,3,4 | 是 |
结果
Copy
{"content":{"data":{"recruit_id":"1234"},"rows":[]},"message":"操作成功","state":1}
说明
recruit_id
:挑战的ID
调用编程页面
猿圈编译页面的调用方式是通过嵌入iframe的方式,猿圈提供调用编程页面的javascript的SDK文件,引入该文件、并配置参数,就可以实现编程页面的调用。调用方式如下:
Copy
<script type="text/javascript">
oxCompiler.reid = "${recruitId }";
oxCompiler.backURL = "javascript:history.go(-1)";
oxCompiler.user_token = "${user_token }";
oxCompiler.access_token = "${access_token }";
oxCompiler.compilerURL = "https://localhost:8080/Oxcoder";
oxCompiler
.set_hook(
'onCompileFinished',
function(msg) {
console.log("这是编译完成后的回调"+msg)
});
oxCompiler.initConnection();
</script>
<div id="oxCompiler"></div>
获取做题得分
接口地址
Copy
https://open-api.oxcoder.com.cn/OxcoderDev/open/user/get_user_evaluation
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
access_token | 全局唯一令牌 | 是 | |
user_token | 用户令牌 | 是 | |
reid | 挑战id | 是 |
获取做题得分及测评
接口地址
Copy
https://open-api.oxcoder.com.cn/OxcoderDev/open/user/get_user_evaluation_detailed
参数
参数名称 | 说明 | 必填 | 备注 |
---|---|---|---|
access_token | 全局唯一令牌 | 是 | |
user_token | 用户令牌 | 是 | |
reid | 挑战id | 是 |