Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过moodle中的webservice登录API_Php_Moodle_Moodle Api - Fatal编程技术网

Php 通过moodle中的webservice登录API

Php 通过moodle中的webservice登录API,php,moodle,moodle-api,Php,Moodle,Moodle Api,我正在尝试将外部网站的登录API编码到moodle。我不知道如何实现它。请引导我通过。我想通过RESTWebService创建。 这样学生就可以通过外部网站登录 好的,首先,确保您有配置良好的moodle 启用web服务:您的URL/admin/settings.php?section=optionalSubsystem 启用Rest协议:您的URL/admin/settings.php?section=webserviceprotocols 已启用Moodle移动web服务:您的_Moodl

我正在尝试将外部网站的登录API编码到moodle。我不知道如何实现它。请引导我通过。我想通过RESTWebService创建。
这样学生就可以通过外部网站登录

好的,首先,确保您有配置良好的moodle

  • 启用web服务:您的URL/admin/settings.php?section=optionalSubsystem
  • 启用Rest协议:您的URL/admin/settings.php?section=webserviceprotocols
  • 已启用Moodle移动web服务:您的_Moodle_URL/admin/settings.php?section=externalservices
  • 启用角色功能webservice/rest:用于经过身份验证的用户角色:通常为您的_MOODLE_URL/admin/roles/define.php?action=edit&roleid=7
假设这是指最新版本3.5,这里是一个javascript和axios的示例(axios是一个基于promise的HTTP客户端,用于浏览器和node.js)

或者,如果您想使用浏览器进行测试,请访问:YOUR_MOODLE_URL/login/token.php?用户名=YOUR_FORM_用户名和密码=YOUR_FORM_密码和服务=MOODLE_移动应用程序

将您的\u MOODLE\u URL替换为您的MOODLE安装的URL,将您的\u FORM\u用户名和\u FORM\u密码替换为有效凭据

这样,您就可以获得用户登录的令牌,以便在moodle中执行任何操作

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))