sql >> データベース >  >> RDS >> Mysql

Moodleを使用してユーザーを作成し、SQLを介してコースに登録します

    SQLを使用するのではなくWebサービスを使用する必要があります- https://docs.moodle.org/dev/Creating_a_web_service_client

    1. Webサービスを有効にする/admin/search.php?query=enablewebservices
    2. RESTプロトコル/admin/settings.php?section=webserviceprotocolsを有効にする
    3. サービス/admin/settings.php?section=externalservices
        を追加します
      • 短い名前を追加=myservice
      • enable =true
    4. サービスの機能をクリックします。
    5. core_user_create_usersを追加します およびenrol_manual_enrol_users
      • パラメータについては、APIドキュメントを確認する必要があります
      • /admin/webservice/documentation.php
    6. 役割を作成する-/admin/roles/manage.php
    7. ユーザーレベルとシステムコンテキストを選択します
    8. 機能の追加-webservice/rest:use
    9. テストユーザーを作成し、上記で作成した役割に追加します
    10. ユーザー/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);
    


    1. 複数の番号フィールドで複数の番号を検索する

    2. リッチテキストボックスのデータをフォーマットしてデータベースに保存する

    3. Oracle:パフォーマンスの一括収集

    4. DjangoプロジェクトをHerokuに移行する