0

我正在将我的应用程序与 Moodle 连接,并且我成功地mod_scorm_get_scorm_sco_tracks通过mod_scorm_get_scorm_attempt_countAjax (XMLHttpRequest) 为给定用户 ( userid) 调用。

现在我希望我的应用程序将一些 SCORM 曲目推回 Moodle。所以我正在尝试使用mod_scorm_insert_scorm_tracks但没有成功。问题是这个方法不带userid参数,所以我不明白如何使用它(如果我尝试添加userid到输入参数,我会得到一个invalid parameter exception)。

通过发送以下内容,我获得了某种成功(没有错误消息):

scoid=206&attempt=2&tracks[0][element]=cmi.completion_status&tracks[0][value]=completed&tracks[1][element]=cmi.interactions.0.id&tracks[1][value]=multiplechoice_page_1_1&tracks[2][element ]=cmi.interactions.0.learner_response&tracks[2][value]=White&tracks[3][element]=cmi.interactions.0.result&tracks[3][value]=correct&tracks[4][element]=cmi.interactions。 0.description&tracks[4][value]=Which%20color%20was%20Garibaldi's%20white%20horse%3F&tracks[5][element]=cmi.interactions.1.id&tracks[5][value]=hotobject_page_2_1&tracks[6][element ]=cmi.interactions.1.learner_response&tracks[6][value]=butterfly&tracks[7][element]=cmi.interactions.1.result&tracks[7][value]=incorrect&tracks[8][element]=cmi.interactions。 1.description&tracks[8][value]=%20is%20the%20fish%3F&轨道[9][元素]=cmi.score.max&tracks[9][值]=2&tracks[10][元素]=cmi.score.raw&tracks[10][值]=1&tracks[11][元素]=cmi。 score.scaled&tracks[11][value]=0.5&tracks[12][element]=cmi.session_time&tracks[12][value]=PT0H0M15S&tracks[13][element]=timemodified&tracks[13][value]=1480947821&tracks[14][ element]=userid&tracks[14][value]=26&tracks[15][element]=scoid&tracks[15][value]=206&wstoken=69f2471506c4c49ff47cd0de0c4c9f01&wsfunction=mod_scorm_insert_scorm_tracks&moodlewsrestformat=jsontrack[13][value]=1480947821&tracks[14][element]=userid&tracks[14][value]=26&tracks[15][element]=scoid&tracks[15][value]=206&wstoken=69f2471506c4c49ff47cd0de0c4c9f01&wsfunction=mod_scorm_insert_scorm_tracks&moodlewsrest=jsontrack[13][value]=1480947821&tracks[14][element]=userid&tracks[14][value]=26&tracks[15][element]=scoid&tracks[15][value]=206&wstoken=69f2471506c4c49ff47cd0de0c4c9f01&wsfunction=mod_scorm_insert_scorm_tracks&moodlewsrest=json

但是,由于我无法指定这些数据所属的用户,因此我的用户的尝试不会更新(如可预测的那样)。这是 Moodle 的回复:

{"trackids":[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],"警告":[]}

我已经尝试将userid信息插入到 traks ( tracks[14][element]=userid&tracks[14][value]=26) 但仍然没有运气。

所以,问题是:

  1. 考虑到我是从外部应用程序调用它,所以插入了哪些用户,所以在 Moodle 中没有登录用户?
  2. 我如何指定这些曲目是赠品userid
4

1 回答 1

0

用户身份来自完全登录到 Moodle 的 HTTP 上下文:您不能代表任何用户提供 SCORM 跟踪信息,但实际登录用户除外。

更多信息:

HTH,
马特奥

于 2016-12-05T23:08:25.203 回答