通过Moodle中的Web服务登录API

时间:2018-10-19 16:16:25

标签: php moodle moodle-api

我正在尝试将外部网站的登录API编码为moodle。我不知道该怎么实现。请引导我。我想通过REST Web服务创建。 这样,学生可以通过该外部网站登录。

1 个答案:

答案 0 :(得分:1)

好吧,首先,请确保您已正确配置了穆迪

  • 已启用网络服务:YOUR_MOODLE_URL / admin / settings.php?section = optional子系统
  • 已启用其他协议:YOUR_MOODLE_URL / admin / settings.php?section = webserviceprotocols
  • 启用了面条移动网络服务:YOUR_MOODLE_URL / admin / settings.php?section = externalservices
  • 启用角色功能webservice / rest:用于经过身份验证的用户角色:通常是YOUR_MOODLE_URL / admin / roles / define.php?action = edit&roleid = 7

假设这是指最新版本3.5,此处是一个使用javascript和axios的示例(Axios是用于浏览器和node.js的基于Promise的HTTP客户端)

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,并使用有效的凭据替换YOUR_FORM_USERNAME和YOUR_FORM_PASSWORD。

通过此操作,您将获得用户登录的令牌,以在moodle中执行任何操作。