Php 创建课程API在Moodle中不起作用
我是新来穆德尔的。我已经使用web服务api创建了用户,并且正在成功运行。现在我想以同样的方式创建一个课程。我正在使用“核心课程创建课程”功能来实现这一点。我的请求的正文是Php 创建课程API在Moodle中不起作用,php,web-services,api,post,moodle,Php,Web Services,Api,Post,Moodle,我是新来穆德尔的。我已经使用web服务api创建了用户,并且正在成功运行。现在我想以同样的方式创建一个课程。我正在使用“核心课程创建课程”功能来实现这一点。我的请求的正文是 $courses=array("courses" => array( 0=>array( "fullname" => $fullname, "shortname" =>
$courses=array("courses" =>
array(
0=>array(
"fullname" => $fullname,
"shortname" => $shortname,
"categoryid" => $categoryid,
"idnumber" =>$idnumber,
"summary"=>$summary,
"summaryformat"=>$summaryformat
)
)
);
每当我运行此程序时,它都会给我响应“{\”异常\“:\”moodle\u异常\“,\”错误代码\“:\”errorcatcontextnotvalid\“,\”消息\“:\”您无法在类别上下文(类别id:101)中执行函数。上下文错误消息是:检测到无效的参数值\“}”
但id为101的课程类别“编程”存在于我的moodle站点中。请帮帮我。提前感谢。我错了,categoryid不是类别的id,而是类别的序列id。现在如果我给2,它就可以了
$token = $this->config->item('id_token');
$domainname = $this->config->item('domainname');
$functionname = 'core_course_create_courses';
$restformat = 'json';
//crear objeto de acuerdo a la estructura para crear Categoría en Moodle
$curso = new stdClass();
$curso->fullname = $data['patron']['nombre'];
$curso->shortname = $data['patron']['nombre']; // Is unique
**$curso->idnumber = $id; // consecutive
$curso->visible = 1;
$curso->categoryid = 6;
$modulos = array($curso);
$params = array('courses' => $modulos);
header('Content-Type: text/plain');
$serverurl = $domainname . '/webservice/rest/server.php' . '?wstoken=' . $token . '&wsfunction=' . $functionname;
require_once(APPPATH . 'libraries/curl.php');
$curl = new curl;
$restformat = ($restformat == 'json') ? '&moodlewsrestformat=' . $restformat : '';
$resp = $curl->post($serverurl . $restformat, $params);
return $resp;