华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 x-auth-token 是 String 用户token 表3 请求Body参数 参数 是否必选 参数类型 描述 filter 否 ExerciseFilter object 获取习题库里习题过滤字段 page_size 否 Integer 每页数量 最小值:1 最大值:10000 start_index 否 Integer 起始页 最小值:1 最大值:100 表4 ExerciseFilter 参数 是否必选 参数类型 描述 name 否 String 需查询的习题名称 exercise_type 否 Array of integers 习题类型列表 difficult_ids 否 Array of strings 难度id列表 knowledge_point_ids 否 Array of strings 知识点id列表
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 total Integer 习题库数量 data Array of PackageExerciseCard objects 习题库列表 表6 PackageExerciseCard 参数 参数类型 描述 id String 习题id name String 习题名称 difficult DifficultInfo object 习题难度信息 exercise_type Integer 习题类型编号 exercise_type_name String 习题类型名称 order_count Integer 习题库里习题编号 knowledge_point Array of KnowledgePointInfo objects 相关知识点 表7 DifficultInfo 参数 参数类型 描述 id String 难度id name String 难度名称 degree Integer 难度等级 表8 KnowledgePointInfo 参数 参数类型 描述 id String 知识点id name String 知识点名称 sequence Integer 知识点顺序编号 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "data" : [ { "id" : "2abf9be737c411ed8895fa163eb30021", "name" : "softwareTestC", "difficult" : { "id" : "fcd50af2b83b11e9be8dfa163eaf585c", "name" : "1星", "degree" : 1 }, "exercise_type" : 1, "exercise_type_name" : "c", "order_count" : 1, "knowledge_point" : [ { "id" : "b2a5a983d373435b90de7e35bff3ce5a", "name" : "sdfsfasd", "sequence" : 458 } ] } ]} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应示例 状态码: 200 OK { "accept_job_num" : 10, "end_time" : "2019-11-19 01:56:21", "is_answer_visibility" : "unpublish", "is_score_visibility" : "unpublish", "average_score" : "99", "score_job_num" : 9, "submit_job_num" : 10} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 accept_job_num Integer 作业下发人数 end_time String 作业截止时间, 日期格式:yyyy-MM-dd HH:mm:ss is_answer_visibility String 作业答案是否公布(unpublish:表示未公布答案, publish:表示已公布答案) is_score_visibility String 作业成绩是否公布(unpublish:表示未公布成绩, publish:表示已公布成绩) average_score String 作业均分 score_job_num Integer 老师手动评分人数 submit_job_num Integer 作业提交人数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 total_count Integer 所有难度数量 data Array of DifficultInfo objects 难度信息 表3 DifficultInfo 参数 参数类型 描述 id String 难度id name String 难度名称 degree Integer 难度等级 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 响应示例 状态码: 200 OK { "total_count" : 1, "data" : [ { "id" : "fcd50af2b83b11e9be8dfa163eaf585c", "name" : "1星", "degree" : 1 } ]} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 200 CM.0001 目标教学课程或者大赛不存在 目标教学课程或者大赛不存在 200 CM.0002 参数错误 参数错误 200 CM.0003 您不是课堂成员,无权操作 您不是课堂成员,无权操作 200 CM.0006 课堂不存在或您没有权限查看 课堂不存在或您没有权限查看 200 CM.0252 调用组装资源服务异常 调用组装资源服务异常 200 CM.0253 用户无权限操作习题 用户无权限操作习题 200 CM.0301 习题参数有误 习题参数有误 200 CM.0309 请确认作业是否已删除 请确认作业是否已删除 200 CM.0320 用户无权限操作作业 用户无权限操作作业 400 CM.0450 系统繁忙,请稍后再试 系统内部异常 400 CM.0461 资源不存在或者用户权限不足 资源不存在或没有权限访问 400 CM.0502 习题类型与结果返回类型不匹配 该习题类型不支持该结果返回类型 400 CM.0802 无权限操作 无权限操作 400 CM.0804 未购买节点 没有购买判题节点 400 CM.0805 判题类型和输出类型不符 判题类型不支持所选的输出类型 400 CM.0806 并发数量达到上限 并发判题任务数量达到购买的节点数上限 400 CM.0807 参数错误 传入的参数有误 400 CM.0808 配置信息错误 传入的回调地址参数与配置管理页上配置的不一致 400 CM.0809 不支持的回调通知地址 传入的回调地址不支持访问 400 CM.0853 系统繁忙, 请稍后再试 系统内部异常 父主题: 附录
  • 响应示例 状态码: 200 OK { "id" : "2abf9be737c411ed8895fa163eb30021", "name" : "softwareTestC", "description" : "desc", "difficult" : { "id" : "fcd50af2b83b11e9be8dfa163eaf585c", "name" : "1星", "degree" : 1 }, "exercise_type" : 1, "exercise_type_name" : "c", "order_count" : 1, "test_case_description" : "testCaseDesc", "knowledge_point" : { "id" : "b2a5a983d373435b90de7e35bff3ce5a", "name" : "sdfsfasd", "sequence" : 458 }, "judge_type" : 0, "exercise_data" : { "exercise_code_resource" : { "id" : "155491aa08cbc8c66ddff507066b3f92", "polymeric_resource_id" : "4948dfd7d7654b8ca4c0935b59e0bd2e", "content" : "content", "code_answer" : "codeAnswer" }, "exercise_case_resource" : { "id" : "25fdc7dd6433bf8be25941e4e60bb38c", "polymeric_resource_id" : "4948dfd7d7654b8ca4c0935b59e0bd2e", "input_file" : "1 2", "output_file" : "3", "index" : 0, "input_type" : null } }} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 习题id name String 习题名称 description String 习题描述 difficult DifficultInfo object 习题难度信息 exercise_type Integer 习题类型编号 exercise_type_name String 习题类型名称 order_count Integer 习题库里习题编号 test_case_description String 测试用例描述 knowledge_point Array of KnowledgePointInfo objects 相关知识点 judge_type Integer 判题类型 exercise_data ExerciseDetailData object 习题详细内容及测试用例信息 表4 DifficultInfo 参数 参数类型 描述 id String 难度id name String 难度名称 degree Integer 难度等级 表5 KnowledgePointInfo 参数 参数类型 描述 id String 知识点id name String 知识点名称 sequence Integer 知识点顺序编号 表6 ExerciseDetailData 参数 参数类型 描述 exercise_code_resource ExerciseCodeResource object 习题详细内容 exercise_case_resource Array of ExerciseCaseResource objects 测试用例信息 表7 ExerciseCodeResource 参数 参数类型 描述 id String 习题内容存储id polymeric_resource_id String 资源聚合id content String 习题内容 code_answer String 参考答案 表8 ExerciseCaseResource 参数 参数类型 描述 id String 测试用例存储id polymeric_resource_id String 资源聚合id input_file String 用例输入 output_file String 用例输出 index Integer 用例顺序位置 input_type String 用例类型 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • URI GET /v3/classrooms/{classroom_id}/members 表1 路径参数 参数 是否必选 参数类型 描述 classroom_id 是 String 课堂ID 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 信息记录的起始编号 最小值:1 最大值:1000 limit 否 Integer 每页包含的信息记录数 最小值:1 最大值:100 filter 否 String 按照条件搜索学生,搜索字段会同时匹配姓名,学号,用户名,班级 最小长度:1 最大长度:200
  • 响应示例 状态码: 200 OK { "members" : [ { "member_id" : "f37ad8c959c24bd880fd20296867c1ef", "name" : "张三", "number" : "0001", "class_name" : "Java高级编程一班", "user_name" : "zhangsan001", "join_time" : "2019-11-19 01:56:21", "job_received_count" : "4", "job_finished_count" : "0", "job_finished_rate" : "0" } ], "total" : 1} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 members Array of ClassroomMember objects 课堂成员列表 total Integer 课堂成员总数 表5 ClassroomMember 参数 参数类型 描述 member_id String 成员ID name String 成员名称 number String 成员学号/工号 class_name String 成员所在班级的名字 user_name String 成员用户名 join_time String 成员加入课堂时间,日期格式:yyyy-MM-dd HH:mm:ss job_received_count Integer 该成员已接收到的作业数量 job_finished_count Integer 该成员已完成的作业数量 job_finished_rate Number 该成员作业完成率 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 调用API取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中“{Endpoint}”为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中“projects”下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 响应示例 状态码: 200 OK { "total_count" : 1, "data" : [ { "id" : "c93e5805e9b8423ea0d07b585b1d746f", "name" : "knowledgePoint1", "sequence" : 1 } ]} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_count Integer 知识点数量 data Array of KnowledgePointInfo objects 知识点信息 表4 KnowledgePointInfo 参数 参数类型 描述 id String 知识点id name String 知识点名称 sequence Integer 知识点顺序编号 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 请求示例 { "notify_url" : "https://117.12.143.1/taskBack", "code_type" : "inline", "source_code" : "I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKSB7CiAgICBzdGQ6OmNvdXQgPDwgIkhlbGxvIHdvcmxkISIgPDwgc3RkOjplbmRsOwogICAgcmV0dXJuIDA7Cn0=", "description" : "cpp code", "runtime_type" : "cpp", "timeout" : 60, "output_type" : "sysout"} { "notify_url" : "https://117.12.143.1/taskBack", "code_type" : "inline", "source_code" : "bnVtID0gaW5wdXQoKQpudW1zID0gbnVtLnNwbGl0KCkKcHJpbnQoaW50KG51bXNbMF0pK2ludChudW1zWzFdKSk=", "description" : "python code", "runtime_type" : "python", "timeout" : 10, "output_type" : "judgeout", "testcases" : [ { "input" : "10 20", "output" : "30" } ]}
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 x-auth-token 是 String 用户token 表2 请求Body参数 参数 是否必选 参数类型 描述 notify_url 是 String 第三方指定的判题结果回调url,取值来源于伙伴通道“判题管理配置”-“接口管理”中设置的回调地址相同 最小长度:1 最大长度:255 code_type 是 String 代码来源:inline(源代码) 缺省值:inline 最小长度:1 最大长度:32 枚举值: inline source_code 是 String 源代码,需Base64编码 最小长度:0 最大长度:30000 description 否 String 任务描述 最小长度:0 最大长度:255 runtime_type 是 String 支持语言类型:java、c、cpp、python 最小长度:1 最大长度:32 枚举值: java c cpp python timeout 否 Integer 代码运行超时时间,单位为秒 最小值:1 最大值:60 output_type 是 String 结果返回类型:sysout(标准输出)、fileout(以文件形式输出)、imgout(以图片形式输出)、caseout(用例运行返回)、judgeout(用例对比返回) 最小长度:1 最大长度:32 枚举值: sysout fileout imgout caseout judgeout testcases 否 Array of JudgementCaseInfo objects 当判题结果类型是caseout和judgeout类型才需要传的字段,表示用例数据 表3 JudgementCaseInfo 参数 是否必选 参数类型 描述 input 是 String 用例数据输入 output 否 String 用例数据期望输出
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 judgement_id String 判题任务ID 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 响应示例 状态码: 200 下发判题任务成功 { "judgement_id" : "9a780fd55cd64333b668ba26132629d2"} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 响应示例 状态码: 200 OK { "jobs" : [ { "name" : "作业", "job_id" : "0632910a5115448da1eb92202592fa24", "is_send" : "send", "end_time" : "2019-12-12 12:00:00", "average_score" : "1.5", "submit_job_num" : 10, "create_status" : "yes", "send_type" : "all", "is_score_visibility" : "unpublish", "send_time" : "2019-12-12 12:00:00" } ], "total" : 1} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • URI GET /v3/jobs 表1 Query参数 参数 是否必选 参数类型 描述 source_from 是 String 作业来源于课堂或课程。 取值范围: classroom:课堂作业 course:课程作业 最小长度:6 最大长度:9 source_id 是 String 课堂ID或者课程ID。 最小长度:32 最大长度:32 offset 否 Integer 信息记录的起始编号 最小值:1 最大值:1000 limit 否 Integer 每页包含的信息记录数 最小值:1 最大值:100
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 jobs Array of JobCard objects 作业列表 total Integer 作业总数 表4 JobCard 参数 参数类型 描述 name String 作业名称 job_id String 作业ID is_send String 作业下发状态(unsend:作业未下发, send:作业已下发) end_time String 作业截止时间, 日期格式:yyyy-MM-dd HH:mm:ss average_score String 作业均分 submit_job_num Integer 作业提交人数 create_status String 作业创建状态(yes:作业可以下发, no:作业不能下发) send_type String 作业下发类型(specific:指定成员下发, all:下发课堂全员) is_score_visibility String 作业成绩是否公布(unpublish:表示未公布成绩, publish:表示已公布成绩) send_time String 作业下发时间, 日期格式:yyyy-MM-dd HH:mm:ss 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 操作步骤 查询作业列表 接口信息 URI:GET /v3/jobs API文档详情请参见:查询指定课堂下的作业列表信息 API Explorer 在线调试请参见: 查询指定课堂下的作业列表信息 请求示例 GET https://classroom-ext.cn-north-4.myhuaweicloud.com/v3/jobs 响应示例 {"jobs": [{"average_score": "1.5","create_status": "yes","end_time": "2019-12-12 12:00:00","is_score_visibility": "unpublish","is_send": "send","job_id": "0632910a5115448da1eb922025152…","name": "作业","send_time": "2019-12-12 12:00:00","send_type": "all","submit_job_num": 10}],"total": 1} 查询指定作业详情。 接口信息 URI:GET /v3/jobs/{job_id} API文档详情请参见:根据作业ID,查询指定作业的信息 API Explorer在线调试请参见: 根据作业ID,查询指定作业信息 请求示例 GET https://classroom-ext.cn-north-4.myhuaweicloud.com/v3/jobs/7ba61775f4b34eccb4a298018f957... 响应示例 {"accept_job_num": 10,"average_score": "99","end_time": "2019-11-19 01:56:21","is_answer_visibility": "unpublish","is_score_visibility": "unpublish","score_job_num": 9,"submit_job_num": 10}
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token获取请求认证接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • URI GET /v3/classrooms/{classroom_id}/jobs 表1 路径参数 参数 是否必选 参数类型 描述 classroom_id 是 String 课堂ID 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 member_id 是 String 用户ID 最小长度:32 最大长度:32 offset 否 Integer 信息记录的起始编号 最小值:1 最大值:1000 limit 否 Integer 每页包含的信息记录数 最小值:1 最大值:100
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 jobs Array of MemberJobCard objects 课堂下作业列表信息 total Integer 学生作业总数 表5 MemberJobCard 参数 参数类型 描述 name String 作业名称 average_score String 作业均分(作业有均分该字段才返回) score Integer 作业得分(作业有分数该字段才返回) send_time String 作业下发时间, 日期格式:yyyy-MM-dd HH:mm:ss last_submit_time String 作业最后一次提交时间, 日期格式:yyyy-MM-dd HH:mm:ss 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 异常错误码 error_msg String 异常错误描述
  • 响应示例 状态码: 200 OK { "jobs" : [ { "name" : "作业", "average_score" : "99", "score" : 100, "send_time" : "2019-12-12 12:00:00", "last_submit_time" : "2019-12-12 12:00:00" } ], "total" : 1} 状态码: 400 Bad Request { "error_code" : "CM.0003", "error_msg" : "请求参数有误"} 状态码: 403 Forbidden { "error_code" : "CM.0001", "error_msg" : "请求被拒绝访问"} 状态码: 500 Internal Server Error { "error_code" : "CM.0000", "error_msg" : "服务内部错误"}
  • 操作步骤 下发判题任务。 接口信息 URI:GET /v1/enablement/judgements API文档详情请参见:下发判题任务 API Explorer在线调试请参见:下发判题任务 说明 输出类型为文件生成类型时(output_type为fileout),不需要指定生成路径,程序会将标准输出的输出流写入文件并返回文件id。 输出类型为图片生成类型时(output_type为imgout), 需要指定生成路径,并且须生成在目录"/projects/output/"下,程序会返回图片的id。 请求示例 POST https://classroom-ext.cn-north-4.myhuaweicloud.com/v1/enablement/judgements 响应示例 {"notify_url": "https://117.12.143.1/taskBack","code_type": "inline","source_code": "aW1wb3J0IG9zCnByaW50KCIyMDIxLTA3LTE0Iik=","description": "java code","runtime_type": "java","timeout": 60,"output_type": "sysout"} 根据判题任务id查询判题结果。 接口信息 URI:GET v1/enablement/judgements/{judgement_id} API文档详情请参见:获取判题结果详情 API Explorer在线调试请参见:获取判题结果详情 请求示例 GET https://classroom-ext.cn-north-4.myhuaweicloud.com/v1/enablement/judgements/933b85316de54cea9e650d5f4f6b7ad2 响应示例 { "task_status": "callback_success", "status": "compile_error", "judgement_id": "933b85316de54cea9e650d5f4f6b7ad2", "start_time": "2021-07-15 19:49:22", "end_time": "2021-07-15 19:49:28", "result": { "output": "java sysout", // 下发判题时output_type为sysout或代码出错时只会返回output字段 "file_id": "b47e7d4e-ae9e-43a2-a452-c2aa6bfb5ee9.txt", // 下发判题时output_type为fileout只会返回file_id字段 "image_id": "94737d4e-ae9e-43a2-9702-bda76bfb5ee9.png" // 下发判题时output_type为imgout只会返回image_id字段 "testcases": [ // 下发判题时output_type为caseout或judgeout只会返回testcases字段 { "input": "10 20", "output": "30" } ] }} 下载判题结果文件。 接口信息 URI:GET /v1/enablement/judgement/files/{file_id} API文档详情请参见:获取判题结果详情 API Explorer在线调试请参见:下载判题结果文件 请求示例 GET https://classroom-ext.cn-north-4.myhuaweicloud.com/v1/enablement/judgement/files/b47e7d4e-ae9e-43a2-a452-c2aa6bfb5ee9.txt 响应示例 文件流的形式返回。
共100000条