MOODLE调用attendance插件取课程会话列表的web服务需二次开发吗
结论
你无需在Moodle中开发新的web服务功能,该需求可在完全不修改核心代码、attendance插件代码的前提下实现。
实现依据
你使用的mod_attendance考勤插件本身已内置适配Moodle标准web服务体系的官方接口,适配Moodle 3.11.3+版本的考勤插件均自带mod_attendance_get_courses_sessions接口,专门用于按课程维度查询对应考勤会话列表。
配置&调用步骤
- 首先确认考勤插件已正常激活:进入
站点管理 > 插件 > 活动模块 > 考勤,确认web服务相关配置为开启状态(默认安装即为开启) - 给你使用的web服务角色/用户授权:添加
mod/attendance:view、mod/attendance:viewreports两个权限,同时在你已启用的web服务函数列表中新增mod_attendance_get_courses_sessions函数 - 调用接口时传入必填参数
courseid(目标课程的ID)即可返回该课程下的全部考勤会话数据,接口也支持传入起止时间、分页参数做过滤,满足不同查询需求
常见异常排查
- 若调用返回权限错误,先排查对应用户是否拥有目标课程的考勤查看权限,同时确认web服务的访问令牌有效、IP白名单配置包含请求来源IP
- 若需要批量获取多门课程的会话列表,循环调用该接口传入不同课程ID即可,无需额外开发新接口
内容的提问来源于stack exchange,提问作者Firas
相关产品推荐
相关产品推荐

