2

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

title我可以用set创建一个新测验。

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

  • question_name
  • question_text
  • question_type
  • points_possible
  • answers

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

我在这个工作流程中缺少什么?

4

2 回答 2

2

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

要“解决”这个问题:添加问题后,手动更新question_count属性(通过 a PUSH)。

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

于 2017-01-03T19:21:08.903 回答
0

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

于 2020-11-05T23:51:11.510 回答