【问题标题】:Moodle enrol_manual_enrol_users api errorMoodle enrol_manual_enrol_users api 错误
【发布时间】:2021-05-29 14:08:22
【问题描述】:

当我尝试通过 enrol_manual_enrol_users 注册用户时出现以下错误

数组([exception] => invalid_parameter_exception [errorcode] => invalidparameter [message] => 检测到无效参数值 [debuginfo] => 注册 => 检测到无效参数值:单个结构中缺少必需的键:roleid)

这是我的代码

$MoodleRest = new MoodleRest('http://localhost/moodle/webservice/rest/server.php', $this->token);
        
$enrolment = array(
    "userid" => $user_id,
    "courseid" => $course_id,
    "roleid" => 4
    );
$enrolments = array(array($enrolment));
$params = array( 'enrolments' => $enrolments );


$result_query = $MoodleRest->request('enrol_manual_enrol_users', $params);
if (!empty($result_query['exception'])) {
    print_r(array('Error querying enroll', $result_query));
    die();
}  

【问题讨论】:

  • 你好,你试过$enrolment= new stdClass(); $enrolment->userid = 101;(等等..)然后$enrolments = array($enrolment);

标签: php moodle-api


【解决方案1】:
    $MoodleRest = new MoodleRest('http://40.81.1.212/moodle/webservice/rest/server.php', $this->token);
    

    $par = array(   //e_s_s 
        'enrolments' =>     array(  //e_m_s
                array(   //e_s_s 
                'userid' =>$user_id ,
                'courseid' =>$course_id , // PARAM_NUMBER   VALUE_REQUIRED[]
                'roleid' =>$role_id //PARAM_RAW VALUE_OPTIONAL  [] ))
            );

        print_r($par);
        echo "<br><br>";
        $result_query = $MoodleRest->request('enrol_manual_enrol_users', $par);
        if (!empty($result_query['exception'])) {
            print_r(array('Error querying enroll', $result_query));
            //die();
        } 

        var_dump($result_query);

    echo '</br>************************** Server Response  EnrollUser()**************************</br></br>';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多