php - Moodle enrol_manual_enrol_users api 错误
问题描述
当我尝试通过 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();
}
解决方案
$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>';
推荐阅读
- powershell - 在 foreach 循环中第一次调用后,Jenkins 上的 Mstest 输出不需要的 UTF-8 字符
- php - PHP 脚本不等待 curl 响应
- mysql - 如何从文件中加载数据而不重复记录
- python - 没有属性'get_default_graph'
- windows - 尝试在 Windows 7 机器上使用批处理文件自动化简单的任务和过程控制
- python - 在 Python 单元测试中分别模拟多个 API 请求
- android - 从 SMS REACT NATIVE 中读取消息
- power-automate - 为什么我的流(用于 SharePoint 列表)针对我列表中的所有项目运行?
- excel - 复制 Sheet1 范围在 Sheet2 上向下粘贴八行
- oracle - 我们可以在 Oracle 的视图中使用条件 UNION 吗?