接入
猿圈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 | 是 | 

 