猿圈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错误

接口地址

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:过期时间,单位:秒

接口地址

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