【问题标题】:Getting users information from moodle从moodle获取用户信息
【发布时间】:2014-03-22 01:50:09
【问题描述】:

如何获取版块的用户信息(如姓名、密码)?有没有返回它的方法?

我正在尝试“core_user_get_users_by_field”函数,但它不起作用。这就是我所做的:

String serverurl = url + "/webservice/rest/server.php" + "?wstoken=" + token + "&wsfunction=" + functionName;

obs:服务器是使用 REST 构建的。

【问题讨论】:

    标签: moodle


    【解决方案1】:

    这对我有用

    /webservice/rest/server.php?wstoken=xxx&wsfunction=core_user_get_users_by_field&field=id&values[0]=2

    2 是用户 ID。

    您可以使用任何唯一标识用户的字段。例如:字段=用户名

    您还可以一次检索多个用户,例如:values[0]=2&values[1]=3

    这是假设该功能是按照这些说明作为网络服务添加的

    http://docs.moodle.org/25/en/Using_web_services

    【讨论】:

    【解决方案2】:

    在moodle中有一个叫做$USER的全局对象,这个对象包含了用户的所有信息,所以你想要这些信息在哪里访问就好了,

     global $USER; // <= don't forget to write this before to access
     $USER->username;
     $USER->firstname;
     $USER->lastname;
     $USER->password;
    

    【讨论】:

    • 这只能在 Moodle 代码库、插件等中工作 - 而不是通过 REST 的网络服务调用。
    【解决方案3】:

    适用于:

    https://url.moodle.xyz/webservice/rest/server.php?wstoken=XXXXXXX&wsfunction=core_user_get_users_by_field&field=id&values%5B0%5D=1306
    

    查询参数:

    • wsfunction=core_user_get_users_by_field
    • 字段=id
    • 值[0]=1234

    values[0] 是用户 ID。

    【讨论】:

      【解决方案4】:

      要根据用户名获取 moodle 用户详细信息,您可以这样使用:

      /webservice/rest/server.php?wstoken=8888&wsfunction=core_user_get_users_by_field&field=username&values[0]=mark

      获取 JSON 数据使用:

      /webservice/rest/server.php?wstoken=8888&wsfunction=core_user_get_users_by_field&field=username&values[0]=mark&moodlewsrestformat=json

      【讨论】:

        【解决方案5】:

        通过 curl POST 请求:

        curl \
        -X POST \
        --data-urlencode "wstoken=123456789..." \
        --data-urlencode "wsfunction=core_user_get_users_by_field" \
        --data-urlencode "field=id" \
        --data-urlencode "values[0]=123456" \
        https://moodle.domain.tld/webservice/rest/server.php
        

        正如拉塞尔·英格兰所说:

        [...] 使用任何唯一标识用户的字段。例如:field=username

        【讨论】:

          猜你喜欢
          • 2017-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-09
          • 2015-09-22
          • 1970-01-01
          • 2022-01-10
          • 2013-12-08
          相关资源
          最近更新 更多