下载及接入

猿圈API(当前版本 v1.1)可以通过申请获得appid和secret,在浏览器中实现完整的开发环境,为你的产品提供最专业的在线编译和技术测评功能 申请使用

下方为开发时需要用到的sdk以及使用java实现的项目样例,您可以下载查看

猿圈API SDK

下载 SDK

Java项目样例

下载源码

状态码说明

状态码 说明
-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

接口地址

https://123.57.255.83:10101/OxcoderDev/open/chuanke/get_access_token

参数

参数名称 说明 必填 备注
appid 应用申请唯一id
secret 密码

结果

{"content":{"data":{"expire":7200,"access_token":"e7668a2176b55598f0bb949daae047ec5c1d20349a5071f05cfab8105fc66bb7"},"rows":[]},"message":"操作成功","state":1}

说明

access_token:全局唯一

expire:过期时间,单位:秒

获取user_token

接口地址

httsp://123.57.255.83:10101/OxcoderDev/open/chuanke/get_user_token

参数

参数名称 说明 必填 备注
access_token 全局唯一令牌
user_flag 接口调用者提供的用户唯一标志位

结果

{"content":{"data":{"user_token":"e7668a2176b55598f0bb949daae047ec5c1d20349a5071f05cfab8105fc66bb7"},"rows":[]},"message":"操作成功","state":1}

说明

user_token:全局唯一,接口调用者请求用户相关的信息的用户信息标志位,不会变化,接口调用者需要自行维护

获取编程题目列表

接口地址

https://123.57.255.83:10101/OxcoderDev/open/customize/challenge_list_json

参数

参数名称 说明 必填 备注
access_token 全局唯一令牌
direction Int类型,题目的方向,具体对应关系请查看备注。 1-Java;2-安卓;3-iOS;4-C语言;5-C++;6-php;7-python;10-前端

结果

成功示例如下:
{
    "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

创建挑战

接口地址

https://123.57.255.83:10101/OxcoderDev/open/customize/create_recruit

参数

参数名称 说明 必填 备注
access_token 全局唯一令牌
project_id 题目的id,以英文逗号分隔的数字,2到6个,如2,3,4

结果

{"content":{"data":{"recruit_id":"1234"},"rows":[]},"message":"操作成功","state":1}

说明

recruit_id:挑战的ID

调用编程页面

猿圈编译页面的调用方式是通过嵌入iframe的方式,猿圈提供调用编程页面的javascript的SDK文件,引入该文件、并配置参数,就可以实现编程页面的调用。调用方式如下:

<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>

获取做题得分

接口地址

https://123.57.255.83:10101/OxcoderDev/open/user/get_user_evaluation

参数

参数名称 说明 必填 备注
access_token 全局唯一令牌
user_token 用户令牌
reid 挑战id

获取做题得分及测评

接口地址

https://123.57.255.83:10101/OxcoderDev/open/user/get_user_evaluation_detailed

参数

参数名称 说明 必填 备注
access_token 全局唯一令牌
user_token 用户令牌
reid 挑战id