Moodle 3.2 Web 服务core_create_user可用参数



我正在尝试使用 REST Web 服务将新用户添加到 moodle 3.2,并且我想自定义学生个人资料中的字段(phone1departmentinstitution(。 我使用了这个代码

$token = 'a38805c00f33023f7854d5adc720c7a7';
$domainname = 'http://localhost/moodle';
$functionname = 'core_user_create_users';
$restformat = 'json'; 
$user2 = new stdClass();
$user2->username = strtolower( $rsnew['Serial']);
$user2->password = $rsnew['pass'];
$user2->firstname = $rsnew['Fname'];
$user2->lastname = $rsnew['Lname'];
$user2->email = $rsnew['Email'];
$user2->lang = 'en';
$user2->auth = 'manual';
$user2->country = $rsnew['Country'];
$user2->timezone = '99';
$user2->phone1 = $rsnew['phone'];
$user2->department = $rsnew['dept'];
$user2->institution = $rsnew['branch'];
$user2->idnumber = $rsnew['grade'];
$users = array($user2);
$params = array('users' => $users);
$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname;
require_once('./curl.php');
$curl = new curl;
$restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat:'';
$resp = $curl->post($serverurl . $restformat, $params);

但是我收到此错误:

{
"exception": "invalid_parameter_exception",
"errorcode": "invalidparameter",
"message": "Invalid parameter value detected",
"debuginfo": "users => Invalid parameter value detected: Unexpected keys (phone1, department, institution) detected in parameter array."
}

我应该怎么做才能解决这个问题?

正如错误所暗示的那样,该 Web 服务不支持您为其提供的字段。您可以参考函数本身来了解支持哪些字段以及它们必须包含哪些数据。

core_user_get_users

我不知道使用现有 Web 服务时遇到的问题的解决方法。但是,您可以创建自己的字段,其中包括这些附加字段。

请注意,这听起来像是一个理想的功能,应该在问题跟踪器上提出。

最新更新