调用Moodle的auth_email_signup_user创建用户时自定义字段传参报错如何解决
解决方案
报错根因
invalid_parameter_exception报错由两处参数传值不符合接口要求导致:
- 自定义字段
type参数取值错误auth_email_signup_user接口的customprofilefields数组下,所有自定义字段的type参数统一取值为text,无需和字段的实际类型(日期、复选框)匹配,当前传的date、checkbox为无效值。 - 日期类型字段
value格式错误
日期选择器类自定义字段不接受YYYY-MM-DD格式的字符串值,需传入对应日期的10位Unix时间戳(单位为秒)。
修正后参数示例
// 原日期字段修正 customprofilefields[1][type]=text customprofilefields[1][name]=profile_field_DOB customprofilefields[1][value]=1403107200 // 对应2014-06-19 00:00:00 UTC时间戳 // 原复选框字段修正 customprofilefields[2][type]=text customprofilefields[2][name]=profile_field_Saved customprofilefields[2][value]=1 // 选中传1,未选中传0即可
调试建议
若修改后仍有报错,可临时移除所有非必填自定义字段,逐个添加测试,快速定位错误参数。
内容的提问来源于stack exchange,提问作者Marc Hypolite
相关产品推荐
相关产品推荐

