Canvas LMS REST API测验创建

时间:2017-01-01 01:49:23

标签: canvas-lms

我在使用Canvas REST API创建测验时遇到问题:

我可以使用title设置创建新的测验。

我可以使用以下参数设置添加N个问题:

  • question_name
  • question_text
  • question_type
  • points_possible
  • answers

当我查看我的测验页面时,我可以看到测验存在,但它只显示已为测验创建了1个问题。我必须进入测验页面,点击编辑按钮,然后保存测验以显示在测验页面上显示的所有问题。

此工作流程中缺少什么?

2 个答案:

答案 0 :(得分:1)

所以,对于对这个问题感兴趣的人,我能找到的最好的解决方案是黑客攻击。我尝试比较手动保存测验之前和之后返回的测验模型数据结构。有一些微不足道的差异,但只有几个有意义的差异。唯一相关的区别在于question_count属性。添加问题后没有更新。

要“修复”此:在添加问题后,手动更新question_count属性(通过PUSH)。

也许这是一个错误,也许我不知道我在做什么。无论哪种方式,如果其他人对Canvas REST API有了更好的理解,请发表评论或提供更好的答案。

答案 1 :(得分:0)

遇到了同样的问题,这里有一个可能的解决方法:首先将published设置为False来创建测验。添加您的问题。然后edit测验(https://canvas.instructure.com/doc/api/quizzes.html#method.quizzes/quizzes_api.update)将published设置为True。然后添加所有替代,等等。