课件相关接口

直播云SDK API提供课件上传和转换服务,转换后统一格式为网页课件,转换课件格式支持主流的pdf、word、ppt和mp3/mp4格式。以下接口建议使用https://openapi.weclassroom.com,测试环境: http://test-openapi.weclassroom.com验签规则请查看附录下验签代码示例

本章接口列表:

数目 接口名称 接口说明
1 课件上传与转换接口 该接口提供课件上传与转换服务,上传有两个纬度,1、课节纬度,代表上传到该课节的所属课件,当只填课节id不填用户id即为课节纬度2、课节加用户纬度,当接口上传参数填写用户id后,即为课节+用户纬度,同一纬度下,不能上传相同课件地址,否则为重复上传。
2 课件获取接口 该接口主要提供获取课件转换状态和转换结果,转换结果包含课件创建时间、转换后地址、备份地址、课件大小、课件名称等基本信息。
3 课件删除接口 删除机构下课件,根据teacher_id 和file_id来确定唯一的文件进行删除,由于third_token根据lesson_id验签,所以lesson_id必传,此处传任意值即可。
4 机构课件查询接口 SDK对接机构教师课件查询,支持多种纬度查询。此接口提供机构下教师上传课件后的查询功能,支持老师id,课件id,和时间段组合查询,并已分页方式返回,其中lesson_id可以传任意值,不参与查询。
5 上传机构课件 SDK对接上传机构课件
6 删除机构课件 SDK对接删除机构课件
7 绑定机构课件 SDK对接绑定机构课件到课节信息上,教室内本堂课件查看(支持一个课件绑定多个课节)
8 机构课件列表 SDK对接上传的机构课件列表信息

课件上传与转换接口

接口说明: 该接口提供课件上传与转换服务,上传分为两个纬度,1、课节纬度,代表上传到该课节的所属课件,当只填课节id不填用户id即为课节纬度2、课节加用户纬度,当接口上传参数填写用户id后,即为课节+用户纬度,同一纬度下,不能上传相同课件地址,否则为重复上传。

参数 类型 参数说明
id INT 课件id
lesson_id INT 课节id
filename STRING 课件名称,由当调用上传课件时,请求参数filename 字段决定
filesize INT 课件名称,由当调用上传课件时,请求参数filesiz字段决定
attach_origin_url STRING 源课件地址
attach_convert_url STRING 1、当转换成功:<br>1.1 上传为非影音文件:返回为.html结尾地址<br>1.2 上传为影音文件:.为.mp3,.mp4等视频格式后缀结尾<br>2、转换失败:<br>返回失败状态码,详见表转换失败码表
convert_backup STRING 备份文件地址
convert_zip_url STRING 转换后压缩课件地址,视频和html格式课件无压缩地址,压缩格式一般为zip
convert_zip_backup_url INT 转换后压缩课件备份地址
created_at STRING 课节上传时间
type INT 课件类型,代表含义与上传课件接口一致
covt INT 音视频课件是否转换。1:音视频转换;0:音视频不转换
备注:接口部分参数为辅助信息,不影响机构对接使用,故不做具体说明

接口URL: /file/upload/onlineppt
接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com ) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)(新域名,建议使用)
验签规则请查看附录下验签代码示例

api接口和openapi接口统一请求方式: POST
api接口上传参数:

参数 类型 是否必填 参数说明
lesson_id INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构ID
user_id STRING 用户ID,如果上传用户ID,则表示该课件由该用户上传
third_token STRING 对接机构用于验签的TOKEN
provider STRING 传固定值lesson
filename STRING 文件名称,获取课件的接口的下发的filename参数为该值,详见下小节
filesize STRING 文件大小,获取课件的接口下发filesize参数为该值
osspath STRING 上传路径,只要能够访问或者下载,并非强制要求阿里云oss,

如果是上传.html不会进行转换,但是会将该课件上传
type INT 上传类型:1. ppt 2. html,mp3,mp4 3. pdf 4.word
默认为1

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
lesson_id INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构ID
user_id STRING 用户ID,如果上传用户ID,则表示该课件由该用户上传
provider STRING 传固定值lesson
filename STRING 文件名称,获取课件的接口的下发的filename参数为该值,详见下小节
filesize STRING 文件大小,获取课件的接口下发filesize参数为该值
osspath STRING 上传路径,只要能够访问或者下载,并非强制要求阿里云oss,

如果是上传.html不会进行转换,但是会将该课件上传
type INT 上传类型:1. ppt 2. html,mp3,mp4 3. pdf 4.word
默认为1

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
time STRING 上传时间
msg STRING 对返回的状态信息的补充说明,如调用失败原因等
data JSON或者INT 返回课件ID信息,成功为JSON

data参数说明

参数 类型 参数说明
id INT 该id为课件id,用来标识该课件的唯一性,可通过该课件id通过课件获取接口查询对应课件的上传和转换信息,包含课件转换后地址等,详见下一小节

支持格式说明:

类型 支持格式 对应type 上传时注意事项
ppt ppt,pptx 1 如果转换超过一个小时,则会报失败
网页和音视频类型 html,mp3/MP3,mp4/MP4 2 如果上传为html网页或者已经正式编码的mp3/mp4,则不会转换,获取课件接口直接下发源地址,mp3限制大小为50M,mp4限制大小为530m
pdf pdf 3 转换后html地址,需通过专门工具打开,在浏览器只显示一页
word doc,docx 4 转换后html地址,需通过专门工具打开,在浏览器只显示一页

返回常见错误:

接口返回msg参数内容 说明
该网址已经存在,请重新选网址 以课节纬度或者课节+用户ID纬度下,重新上传同样网址的课件,导致报错

成功示例:

{
    "status": "1",
    "time": "2019-05-30 15:06:34",
    "message": "upload succ", 
    "id": 15162954
}

失败示例:

{
    "status": 0,
    "msg": "该网址已经存在,请重新选网址",
    "data": 1
}

课件获取接口

接口说明: 该接口主要提供获取课件转换状态和转换结果,转换结果包含课件创建时间、转换后地址、备份地址、课件大小、课件名称等基本信息。查询只提供两种纬度查询:

  1. 机构维度,当请求参数不包含课件id 参数时,即默认查询该机构下的课件列表;
  2. 课件维度,当请求参数包含课件id时,查询该课件id对应课件的相关转换信息,课件id为上传课件时,返回的id参数。

接口URL: /file/get/light/list
接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com ) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com )(新域名,建议使用)
验签规则请查看附录下验签代码示例

api接口和openapi接口访问方式: GET
api接口请求参数:

参数 类型 是否必填 参数说明
lesson_id INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构ID
user_id STRING 用户ID,与验证有关
third_token STRING 对接机构用于验签的TOKEN
file_id INT 课件id,为上一小节课件上传接口返回的课件ID
start_time STRING 查询开始时间,默认查当天
end_time STRING 查询结束时间,默认查当天

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
lesson_id INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构ID
user_id STRING 用户ID,与验证有关
file_id INT 课件id,为上一小节课件上传接口返回的课件ID
start_time STRING 查询开始时间,默认查当天
end_time STRING 查询结束时间,默认查当天

接口返回参数:

参数 类型 是否一定返回 参数说明
status INT 返回状态信息:1.成功 0.失败
time STRING 服务器响应时间,当出现参数
msg STRING 返回的状态信息的补充说明,如调用失败原因等
data JSON 查询成功才返回,返回为JSON数组,JSON数组见data参数说明

data主要参数说明:

参数 类型 参数说明
id INT 课件id
lesson_id INT 课节id
filename STRING 课件名称,由当调用上传课件时,请求参数filename 字段决定
filesize INT 课件名称,由当调用上传课件时,请求参数filesiz字段决定
attach_origin_url STRING 源课件地址
attach_convert_url STRING 1、当转换成功:
1.1 上传为非影音文件:返回为.html结尾地址
1.2 上传为影音文件:.为.mp3,.mp4等视频格式后缀结尾
2、转换失败:
返回失败状态码,详见表转换失败码表
convert_backup· STRING 备份文件地址
convert_zip_url STRING 转换后压缩课件地址,视频和html格式课件无压缩地址,压缩格式一般为zip
convert_zip_backup_url INT 转换后压缩课件备份地址
created_at STRING 课节上传时间
type INT 课件类型,代表含义与上传课件接口一致

备注:接口部分参数为辅助信息,不影响机构对接使用,故不做具体说明

转换失败码表:

错误码 说明
1000 PPT下载失败(下载地址无效)
1001 PPT下载超时
1002 找不到转换完毕的PPT文件夹(内部脚本错误)
1003 PPT转换后的结果,上传OSS失败
1005 一次加载,打zip包失败
1006 为zip包打manifest失败
11051 PPT中没有任何的幻灯片(页数为0)
11052 转换服务找不到PPT(下载已成功,但由于某些原因,未找到下载好的本地文件)
11054 转换服务器超时(无法正常开始转换)
11055 转换服务器超时(无法为转换服务进行配置)
11056 转换在进行中,但由于页码过多,过于复杂或者报错等原因导致5分钟未能转换完成
11057 PPT本身存在问题,需要修复后才能打开
11058 PPT本身存在问题,文件为只读,无法转换

查询失败示例:

{
    "status": "0",
    "time": "2017-04-06 14:31:09",
    "message": "参数错误"
}

查询成功但是课件转换失败示例:

{
    "status": "1",
    "msg": "succ",
    "data": [{
        "id": 15162960,
        "lesson_id": 1111192,
        "teacher_id": 1233456,
        "filename": "dsfsdfs",
        "filesize": 111119,
        "attach_origin_url": "https://i.weclassroom.com/lesson/jenkins/light/79/1233456/15162954/wordpage.html",
        "attach_convert_url": "11051",
        "convert_backup": null,
        "convert_zip_url": null,
        "convert_zip_backup_url": null,
        "created_at": "2019-05-30 15:34:25",
        "type": 1
    }]
}

查询成功示例:

{
    "status": "1",
    "msg": "succ",
    "data": [{
        "id": 15162957,
        "lesson_id": 111119,
        "teacher_id": 1233456,
        "filename": "dsfsdfs",
        "filemark": "79",
        "filesize": 111119,
        "attach_origin_url": "https://s.weclassroom.com/lesson/wordpage.html",
        "attach_convert_url": "11051",
        "convert_backup": "http:// ws.weclassroom.com/lesson/wordpage.html",
        "convert_zip_url": "http://s.weclassroom.com/lesson/48764a04adc1d.zip",
        "convert_zip_backup_url": "http://ws.weclassroom.com/4764a04adc1d.zip",
        "created_at": "2019-05-30 15:19:16",
        "convert_time": "2019-05-30 15:19:33",
        "type": 4
    }]
}

课件删除接口

接口说明: 删除机构下课件,根据teacher_id 和file_id来确定唯一的文件进行删除,由于third_token根据lesson_id验签,所以lesson_id必传,此处传任意值即可。
接口URL: /institution/coursewares/remove
接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)(新域名,建议使用)
验签规则请查看附录下验签代码示例

api接口和openapi接口统一访问方式: POST
api接口上传参数:

参数 类型 是否必填 参数说明
institution_id INT 机构ID,直播云下发用于标识对接机构ID
lesson_id INT 课堂ID,用于标识该课节
teacher_id INT 教师ID
file_id INT 课件id
third_token STRING 对接机构用于验签的TOKEN

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
institution_id INT 机构ID,直播云下发用于标识对接机构ID
lesson_id INT 课堂ID,用于标识该课节
teacher_id INT 教师ID
file_id INT 课件id

成功返回:

{
    "status": 1,
    "time": 1558941706,
    "msg": "删除成功"
}

失败返回:

{
    "status": 0,
    "time": 1558948243,
    "msg": [
        "The teacher_id field is required."
    ]
}
{
    "status": 0,
    "time": 1558948243,
    "msg": [
        "课件不存在"
    ]
}

机构课件查询接口

接口说明: SDK对接机构教师课件查询,支持多种纬度查询。此接口提供机构下教师上传课件后的查询功能,支持老师id,课件id,和时间段组合查询,并已分页方式返回,其中lesson_id可以传任意值,不参与查询。

接口URL: /institution/coursewares
接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com ) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com )(新域名,建议使用) 验签规则请查看附录下验签代码示例

api接口和openapi接口统一访问方式: GET
api接口上传参数:

参数 类型 必填 名称 备注
institution_id Int 机构ID
teacher_id Int 教师ID
lesson_id Int 课程ID 不传验签肯定不通过
file_id Int 课件ID
start_time string 开始时间 格式:Y-m-d H:i:s
end_time string 结束时间 格式: Y-m-d H:i:s
per_page Int 分页 支持 min:10,max:200,默认100
third_token String 对接机构用于验签的TOKEN 通用验签Token

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 必填 名称 备注
institution_id Int 机构ID
teacher_id Int 教师ID
lesson_id Int 课程ID 不传验签肯定不通过
file_id Int 课件ID
start_time string 开始时间 格式:Y-m-d H:i:s
end_time string 结束时间 格式: Y-m-d H:i:s
per_page Int 分页 支持 min:10,max:200,默认100

data参数:

参数 类型 名称
current_page Int 当前页码
from Int 从第x条
last_page Int 上一页
next_page_url String 下一页地址
per_page Int 每页课件数
prev_page_url String 上一页地址
to Int 总课件数
total Int 总课件数

data.data参数:

参数 名称 类型
id Int 课件ID
lesson_id Int 课程ID
teacher_id Int 教师ID
attach_convert_url String 转换后的附件地址
filename String 文件名
filesize Int 文件大小
status Int 转换状态,0 正常
attach_origin_url String 附件源地址
convert_backup String 备份课件源地址
convert_zip_url String 离线压缩包地址
convert_zip_backup_url String 备份离线压缩包地址
type Int 文件类型,1ppt 2url url时不需要转换

成功返回:

{
    "status": 1,
    "time": 1563330382,
    "msg": "",
    "data": {
        "total": 53,  //总课件数
        "per_page": 10, //每页包含
        "current_page": 1, //当前页
        "last_page": 6,
        "next_page_url": "http://mxc.api.weclassroom.com/institution/coursewares?page=2&institution_id=79&per_page=10",  //下一页
        "prev_page_url": null, //上一页
        "from": 1, //第 x 条
        "to": 10, //第x 条
        "data": [ //此处只展示1天,节省空间
            {
                "id": 3,
                "lesson_id": 210113788,
                "teacher_id": 119436,
                "attach_convert_url": null, //转码后地址
                "filename": "yuchao",
                "filesize": 1,
                "status": 0,
                "attach_origin_url": "https://cloudclass-dev.oss-cn-beijing.aliyuncs.com/lesson/pdf/109088/RmnnrGdw4t1.ppt", //转码前地址
                "convert_backup": null,  //转码备份
                "convert_zip_url": null, //压缩包地址
                "convert_zip_backup_url": null,//备份的压缩包地址
                "type": 1
            }
        ]
    }
}

失败返回:

{
    "status": 0,
    "time": 1558948243,
    "msg": [
        "The lesson_id field is required."
    ]
}

上传机构课件

接口说明: 该接口主要提供课件上传功能,直播云提供课件转换服务 接口URL: /light/upload/courseWare
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)
验签规则请查看附录下验签代码示例 接口请求方式: POST
openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
fileType INT 文件类型(1ppt 2url 3pdf 4word)(url包括html mp3 mp4等等)
fileSize INT 文件大小
filePath STRING 文件原始url
fileName STRING 文件名称
userId INT 用户ID

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
error_code INT 错误码
time STRING 上传时间
message STRING 对返回的状态信息的补充说明,如调用失败原因等
id INT 课件ID

返回示例:

{
    "status": 1,
    "error_code": 10000,
    "time": "2021-05-11 15:56:40",
    "message": "上传成功",
    "id": 28895
}

删除机构课件

接口说明: 该接口主要提供课件删除功能 接口URL: /light/delete/courseWare
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)
验签规则请查看附录下验签代码示例 接口请求方式: POST
openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
fileIds JSON 支持多个课件删除 '[123,456]'

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
error_code INT 错误码
time STRING 上传时间
message STRING 对返回的状态信息的补充说明,如调用失败原因等

返回示例:

{
    "status": 1,
    "error_code": 10000,
    "time": "2021-05-11 15:56:40",
    "message": "操作成功"
}

绑定机构课件

接口说明: 该接口主要提供课件绑定功能,一个课件绑定多个课件 接口URL: /light/bind/lesson/courseWare
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)
验签规则请查看附录下验签代码示例 接口请求方式: POST
openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
diskId INT 课件ID
lessonIds JSON 课节ID '[123,456]'

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
error_code INT 错误码
time STRING 上传时间
msg STRING 对返回的状态信息的补充说明,如调用失败原因等

返回示例:

{
    "status": 1,
    "error_code": 10000,
    "msg": "操作成功",
    "time": "2021-05-11 15:47:59"
}

机构课件列表

接口说明: 该接口主要提供课件查询功能(带分页) 接口URL: /light/courseWare/list
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)
验签规则请查看附录下验签代码示例 接口请求方式: POST
openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
page INT 分页页码
pageSize INT 分页个数(默认20)
userId INT 若传该用户上传课件列表

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
error_code INT 错误码
time STRING 上传时间
data JSON 数据列表

data参数说明

参数 类型 参数说明
count INT 课件总数
page INT 分页页码
pageSize INT 每页个数
currentPage INT 当前页数
list JSON 数据列表

list参数说明

参数 类型 参数说明
id INT 课件ID
teacher_id INT 用户ID
filename STRING 文件名称
filesize INT 文件大小
attach_origin_url STRING 文件原始URL
attach_convert_url STRING 文件转换后地址
convert_backup STRING 备份课件源地址
convert_zip_url STRING 离线压缩包地址
convert_zip_backup_url STRING 备份课件离线包源地址
convert_status INT 文件转换状态(0转换中 1转换失败 2转换成功)
created_at STRING 文件创建时间
updated_at STRING 文件更新时间
type INT 文件类型

返回示例:

{
    "status": 1,
    "error_code": 10000,
    "time": "2021-05-14 11:11:58",
    "data": {
        "count": 37,
        "page": 1,
        "pageSize": 20,
        "currentPage": 1,
        "list": [
            {
                "id": 28895,
                "teacher_id": 0,
                "filename": "dewweweweewewe.pdf",
                "filesize": 28390,
                "attach_origin_url": "https://cloudclass-dev.oss-cn-beijing.aliyuncs.com/test/abc123.pdf",
                "attach_convert_url": "http://cloudclass-dev.oss-cn-beijing.aliyuncs.com/courseware/template/pdf/v1/pdfpage.html?json=lesson/jenkins/79/28890/oss_plist.json&pageCount=16&firstSize=1400*1981",
                "convert_backup": null,
                "convert_zip_url": null,
                "convert_zip_backup_url": null,
                "convert_status": 2,
                "created_at": "2021-05-11 15:56:40",
                "updated_at": "2021-05-11 15:56:40",
                "type": 3
            }
        ]
    }

results matching ""

    No results matching ""