2017-08-09 55 views
0

我尝试添加新用户可用参数使用REST Web服务的Moodle 3.2,我想自定义学生简介thees场(phone1departmentinstitution)。 我用这个代码Moodle的3.2 Web服务core_create_user

$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." 
} 

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

回答

0

正如错误所示,该Web服务不支持您要提供的字段。您可以参考函数本身来找出哪些字段是受支持的以及它们必须包含哪些数据。

core_user_get_users

我不是使用现有的Web服务您的问题知道的一种解决方法。但是,您可以创建自己的包含这些附加字段的内容。

请注意,这听起来像这是一个理想的功能,应该在issue tracker上提出。