You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Moodle Rest API创建用户返回invalid_parameter_exception如何解决

Moodle创建用户接口invalid_parameter_exception错误排查方案

请求方法:POST
请求URL:https://moodle.testweb.online/webservice/rest/server.php
提交参数截图:参数截图

基础参数校验

  • 确认URL携带3个必填全局参数,缺任何一个都会直接触发参数错误:
    • wstoken:你生成的有效访问令牌,确认令牌对应的用户有创建用户的权限
    • wsfunction:固定值为core_user_create_users,拼写错误会直接报错
    • moodlewsrestformat:推荐设置为json,避免XML格式解析异常
  • 检查用户参数的嵌套结构是否符合要求:Moodle要求所有用户数据必须放在users数组下,即使只创建1个用户也要按数组结构提交,正确结构示例:
{
  "wstoken": "你的访问令牌",
  "wsfunction": "core_user_create_users",
  "moodlewsrestformat": "json",
  "users": [
    {
      "username": "test001",
      "password": "Test@2024",
      "firstname": "测试",
      "lastname": "用户",
      "email": "test001@example.com"
    }
  ]
}

常见参数格式错误点

  • 用户名必须全小写,不能包含空格、特殊符号,且不能和现有用户重复
  • 密码必须符合Moodle后台配置的密码强度要求,默认要求至少8位,同时包含大小写字母、数字、特殊字符中的三类及以上
  • 邮箱格式必须合法,若Moodle开启了邮箱唯一配置,不能和现有用户的邮箱重复
  • 不能提交未在Moodle后台创建的自定义用户字段,若要提交自定义字段需先确认字段短名拼写正确

提交格式校验

  • 若使用form-data格式提交参数,参数key要按数组层级写,比如第一个用户的用户名字段key为users[0][username],密码为users[0][password],直接提交username这类单层key会无法被Moodle识别
  • 不要使用GET方法提交创建用户请求,必须使用POST方法

精准定位错误方式

在请求URL末尾加上&debug=1后重新提交,返回的错误信息会明确标注哪个参数缺失、格式错误或者取值非法,可直接定位问题。

内容的提问来源于stack exchange,提问作者devmonster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:09:03