Utwórz użytkownika za pomocą serwisu Moodle
Próbowałem stworzyć nowego użytkownika na Moodle przez api usługi internetowej.
Próbowałem za pomocąprzykład które znalazłem na githubie i innym kodzie php
W obu otrzymuję tę samą odpowiedź:
„Brak wymaganego klucza w pojedynczej strukturze: użytkownicy”
odpowiedź:
{
"exception":"invalid_parameter_exception",
"errorcode":"invalidparameter",
"message":"Invalid parameter value detected",
"debuginfo":"Missing required key in single structure: users"
}
Próbuję zmienić obiekt za pomocą tablicy, ale błąd trwa.
mój kod:
$functionname = 'core_user_create_users';
$user1 = new stdClass();
$user1->id = 1;
$user1->username = 'testusername1';
$user1->password = 'testpassword1';
$user1->firstname = 'testfirstname1';
$user1->lastname = 'testlastname1';
$user1->email = '[email protected]';
$user1->auth = 'manual';
$user1->idnumber = 'testidnumber1';
$user1->description = 'Hello World!';
$user1->city = 'testcity1';
$user1->country = 'BR';
$token = 'mytoken';
$domainname = 'localhost/moodle';
$functionname = 'core_user_create_users';
$restformat = 'json';
$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname.'&moodlewsrestformat=' . $restformat;
$users = array($user1);
$params = array('users' => $users);
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: text/plain',
'content' => $params
)
));
$contents = file_get_contents($serverurl, null, $context);
//print_r($contents);
$resposta = json_decode($contents);
Mam ważny token i użytkownik może korzystać zcore_user_create_users
funkcjonować