LMSouq
moodle-core Open

Create user using Moodle webservice

GU
Guilherme
1 month ago
3 views
Problem Description
I have tried to create a new user on the Moodle by web service api. I tried with a [example](https://github.com/moodlehq/sample-ws-clients/blob/master/PHP-REST/client.php) that i found on the github and with another php code In the both i receive the same response: **"Missing required key in single structure: users"** the response: <!-- language: php --> { "exception":"invalid_parameter_exception", "errorcode":"invalidparameter", "message":"Invalid parameter value detected", "debuginfo":"Missing required key in single structure: users" } I try to change the object by a array, but the error continues. my code: <!-- language: php --> $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 = 'testemail1@moodle.com'; $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); I have a valid token and the user is allowed to use the `core_user_create_users` function

AI-Generated Solution

Powered by LMSouq AI · GPT-4.1-mini

✓ Solution Ready
Analyzing problem and generating solution…
Was this solution helpful?
Back to Knowledge Base