我正在尝试通过带有自定义字段的网络服务在 moodle 中添加一个新用户

I am trying to add a new user in moodle via webservice with custom fields

我正在尝试通过网络服务在 moodle 中创建一个用户。用户已成功创建,但自定义字段不是 filled.Can 有人将我重定向到解决方案吗?在自定义字段中,我正在尝试发送值性别为男性。

       $functionName = 'core_user_create_users';
            $user1 = new stdClass();
            $user1->username = $form_state['values']['UserName']; 
            $user1->password=$form_state['values']['PassWord']; 
            $user1->firstname = $form_state['values']['FirstName']; 
            $user1->lastname = $form_state['values']['LastName']; 
            $user1->email = $form_state['values']['Emailid']; 
            $user1->mailformat = '0';
            $preferencename1 = 'auth_forcepasswordchange';
            $user1->preferences = array(
                array('type' => $preferencename1, 'value' => 'true')
               );
              $user1->customfields = array(
                array('type' => 'Gender', 'value' => 'Male')
               );
            $users = array($user1);
            $params = array('users' => $users);

            /// REST CALL
    $rest_format = 'json';

        //$server_url = $domain_name . '/webservice/rest/server.php' . '?wstoken=' . $token . '&wsfunction=' . $function_name;
        $server_url = 'localhost/moodle' . '/webservice/rest/server.php'. '?wstoken=' . '7525ce057d455657a4e83d7aa63f3684' .'&wsfunction='. $functionName;
        require_once('curl.inc');
        $curl = new curl;
        $rest_format = ($rest_format == 'json') ? '&moodlewsrestformat=' . $rest_format : '';

        $resp =$curl->post($server_url.$rest_format , $params);
        dpm($resp);
        $res=json_decode($resp);

        dpm($res);

我明白了。我做错的只是性别的第一个字母应该是小写的。它应该是 gender 而不是 Gender

$preferencename1 = 'auth_forcepasswordchange';
$user1->preferences = array(
     array('type' => $preferencename1, 'value' => 'true')
);

有效吗? 我正在尝试,但显示无效参数错误。