Moodle Quiz REST API



有没有人想出如何使用Moodle函数'mod_quiz_process_attempt'?

我正在探索Moodle Web服务(REST API(,以便请求在Moodle上设置的测验。我正在开发一个Android应用程序,用户可以通过它尝试Moodle测验(问题仅属于多项选择题(。

我已经弄清楚了如何开始测验尝试并检索测验数据,但我无法找到如何通过提供的 REST API 在 Moodle 上保存和处理选定的答案。

Moodle 函数 'mod_quiz_process_attempt' 应该对此负责。根据 Moodle 文档,该函数需要一个名为"data"的参数,它是一个 Name-Value-Objects 数组。

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

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

您必须使用 :

mod_quiz_save_attempt

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

有关更多详细信息,请查看文档。

使用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']给出了问题的详细信息。您可以为每个循环处理所有问题。

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

这是设置处理

尝试的数据的方法:要发送的 http 请求的结构

$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;

相关内容

  • 没有找到相关文章

最新更新