我在使用Canvas REST API创建测验时遇到问题:
我可以使用title
设置创建新的测验。
我可以使用以下参数设置添加N个问题:
question_name
question_text
question_type
points_possible
answers
当我查看我的测验页面时,我可以看到测验存在,但它只显示已为测验创建了1个问题。我必须进入测验页面,点击编辑按钮,然后保存测验以显示在测验页面上显示的所有问题。
此工作流程中缺少什么?
答案 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
。然后添加所有替代,等等。