API входа через веб-сервис в Moodle - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь кодировать API входа с внешнего сайта в Moodle.Я не знаю, как этого добиться.Пожалуйста, проведите меня.Я хочу создать через веб-сервис REST.Так, что студент входит в систему через этот внешний сайт.

1 Ответ

0 голосов
/ 22 октября 2018

Хорошо, прежде всего, убедитесь, что у вас хорошо настроены веб-службы moodle

  • : YOUR_MOODLE_URL / admin / settings.php? Section = optionalsubsystems
  • Протокол отдыха включен: YOUR_MOODLE_URL / admin / settings.php? Section = webserviceprotocols
  • Мобильные веб-службы Moodle включены: YOUR_MOODLE_URL / admin / settings.php? Section = externalservices
  • Включить функцию роли webservice / rest: использоватьдля аутентифицированной роли пользователя: обычно YOUR_MOODLE_URL / admin / role / define.php? action = edit & roleid = 7

Предполагая, что это относится к последней версии 3.5, здесь приведен пример с javascript и axios (Axios являетсяHTTP-клиент на основе обещаний для браузера и node.js)

axios
     .get(YOUR_MOODLE_URL + "/login/token.php", {
          params: {
              username: "YOUR_FORM_USERNAME",
              password: "YOUR_FORM_PASSWORD",
              service: 'moodle_mobile_app'
          }
       })
       .then((response) => {
           console.log(response.data)
       })
      .catch((err) => console.error(error))

Или, если вы хотите проверить его с помощью браузера, перейдите по адресу: YOUR_MOODLE_URL / login / token.php? username = YOUR_FORM_USERNAME & password = YOUR_FORM_PASSWORD & service = moodle_mobile_app

Замените YOUR_MOODLE_URL на URL-адрес вашей установки Moodle и YOUR_FORM_USERNAME aи YOUR_FORM_PASSWORD с действительными учетными данными.

С этим вы получаете зарегистрированный токен пользователя для выполнения любого действия в Moodle.

...