Canvas LMS REST API 创建测验

Canvas LMS REST API Quiz creation

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

我可以创建一个 title 集的新测验。

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

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

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

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

To "fix" this:添加您的问题后,手动更新 question_count 属性(通过 PUSH)。

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

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