Moodle api列出了所有队列

时间:2015-07-23 16:07:53

标签: api rest moodle

我希望得到所有同类群组,如果我有ID,我可以获取信息,但我想要所有队列名称和ID。如果有办法,请告诉我。提前致谢

$functionname = 'core_cohort_get_cohorts';
$cohortIDS = array( '1' );
$data_string = http_build_query(array('cohortids' => $cohortIDS));

$utoken = 'mytoken';

$adduser = 'yoururl/webservice/rest/server.php?               wstoken='.$utoken.'&wsfunction='.$functionname.'&moodlewsrestformat=json';
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$adduser);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);

curl_close ($ch);

echo '<pre>';
 print_r(json_decode($server_output));
echo '</pre>';

1 个答案:

答案 0 :(得分:2)

您可以向core_cohort添加更多方法以获取所有同类群组,如下所示: 在cohort / externallib.php中,添加更多方法:

public static function get_all_cohorts(){
    global $DB;
    $cohortids = $DB->get_records('cohort', null, null, 'id');
    $arrids = array();
    foreach($cohortids as $id){
        $arrids[] = $id->id;
    }
    return (new core_cohort_external())->get_cohorts($arrids);
}

此外,您必须注册此名为“core_cohort_get_all_cohorts”的Web服务,才能从外部调用此Web服务。如果您还有其他问题,请告诉我。