【问题标题】:Moodle Quiz REST APIMoodle 测验 REST API
【发布时间】:2021-05-16 19:50:50
【问题描述】:

有人知道如何使用 Moodle 函数“mod_quiz_process_attempt”吗?

我正在探索 Moodle Web 服务 (REST API),以便请求在 Moodle 上设置的测验。我正在开发一个 Android 应用程序,用户可以通过它尝试 Moodle 测验(问题类型仅为 Multiple Choice)。

我已经想出了如何开始测验尝试并检索测验数据,但我不知道如何通过提供的 REST API 在 Moodle 上保存和处理选定的答案。

Moodle 函数“mod_quiz_process_attempt”应该对此负责。根据 Moodle 文档,该函数需要一个名为“data”的参数,它是一个名称-值-对象数组。

General structure

Default to "Array
(
)
" //the data to be saved
list of ( 
  object {
    name string   //data name
    value string   //data value
  } 
 )

我的问题是:我需要将哪些“数据”(哪些名称和值)传递给函数?

【问题讨论】:

    标签: web-services rest http moodle


    【解决方案1】:

    你必须使用:

    mod_quiz_save_attempt
    

    在测验期间处理保存请求。此功能旨在用于moodle移动应用中的测验自动保存功能

    查看documentation了解更多详情。

    【讨论】:

    • 感谢您的回答,但此函数也需要一个“数据”参数。我应该保存什么样的数据(什么名称?什么值?)?
    【解决方案2】:

    使用mod_quiz_get_attempt_review 函数。

    这将输入一个尝试编号并将整个尝试作为其余的传递给一个休息调用。

    $username = array('attemptid' => $val );//$val contains attempt ID.
    $params = array( 'courseids' => $username);
    
    $resp = json_decode(($curl->post($serverurl,$username)),true);
    

    $resp['questions'] 提供问题的详细信息。您可以处理每个循环中的所有问题。

    查看此函数的文档以更好地了解您可以检索的功能。

    【讨论】:

      【解决方案3】:

      这是设置数据以处理尝试的方法: Structure of http request to send

      $data = array();
      $data[0]['name'] = "q16:1_answer";
      $data[0]['value'] = 1;
      $data[1]['name'] = "q16:1_:sequencecheck";
      $data[1]['value'] = 1;
      $data[2]['name'] = "q16:2_answer";
      $data[2]['value'] = 1;
      $data[3]['name'] = "q16:2_:sequencecheck";
      $data[3]['value'] = 1;
      $data[4]['name'] = "q16:3_answer";
      $data[4]['value'] = 0;
      $data[5]['name'] = "q16:3_:sequencecheck";
      $data[5]['value'] = 1;
      $data[6]['name'] = "q16:4_answer";
      $data[6]['value'] = 0;
      $data[7]['name'] = "q16:4_:sequencecheck";
      $data[7]['value'] = 1;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-15
        • 2018-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-03
        相关资源
        最近更新 更多