- वेब सेवाएं सक्षम करें /admin/search.php?query=enablewebservices
- बाकी प्रोटोकॉल सक्षम करें /admin/settings.php?section=webserviceprotocols
- एक सेवा जोड़ें /admin/settings.php?section=externalservices
- संक्षिप्त नाम जोड़ें =myservice
- सक्षम =सत्य
- सेवा के लिए फ़ंक्शन पर क्लिक करें।
core_user_create_users
जोड़ें औरenrol_manual_enrol_users
- आपको पैरामीटर के लिए एपीआई दस्तावेज़ देखना होगा
- /admin/webservice/documentation.php
- एक भूमिका बनाएं - /admin/roles/manage.php
- उपयोगकर्ता स्तर + सिस्टम संदर्भ चुनें
- क्षमता जोड़ें - webservice/rest:use
- एक परीक्षक बनाएं और ऊपर बनाई गई भूमिका में जोड़ें
- उपयोगकर्ता /admin/settings.php?section=webservicetokens के लिए एक टोकन बनाएं
एक बार जब आप इसे सेट कर लें, तो कुछ इस तरह का उपयोग करें:
// First get the token.
$tokenurl = 'http://www.yourmoodlesite.com/login/token.php?username=testuser&password=xx&service=myservice';
$tokenresponse = file_get_contents($tokenurl);
$tokenobject = json_decode($tokenresponse);
if (!empty($tokenobject->error)) {
echo $tokenobject->error;
die();
}
// Then call the create user and enrol functions
// Remember to add the question mark after "server.php" because http_build_query() won't add it on its own and you'll end up with a 404 error
$baseurl = 'http://www.yourmoodlesite.com/webservice/rest/server.php?';
// Then add these parameters to the url.
$users = array();
// See the api documentation /admin/webservice/documentation.php
// for core_user_create_users for building the $users array
// e.g.
// $users = array(array(
// 'username' => 'lecapitaine', //Username policy is defined in Moodle security config
// 'password' => 'EngageNCC-1701', //Plain text password consisting of any characters
// 'firstname' => 'William', //The first name(s) of the user
// 'lastname' => 'Shatner', //The family name of the user
// 'email' => '[email protected]',
// 'lang' => 'en',
// ));
$params = array(
'wstoken' => $tokenobject->token,
'wsfunction' => 'core_user_create_users',
'moodlewsrestformat' => 'json',
'users' => $users,
);
$url = $baseurl . http_build_query($params);
$response = file_get_contents($url);
$newusers = json_decode($response);
// Newusers will be an array of objects containing the new user ids.
$enrolments = array();
// See the api documentation /admin/webservice/documentation.php
// for enrol_manual_enrol_users for building the $enrolments array
// Then enrol the users.
$params = array(
'wstoken' => $tokenobject->token,
'wsfunction' => 'enrol_manual_enrol_users',
'moodlewsrestformat' => 'json',
'enrolments' => $enrolments,
);
$url = $baseurl . http_build_query($params);
$response = file_get_contents($url);
$enrolled = json_decode($response);