【问题标题】:Canvas LMS REST API Quiz creationCanvas LMS REST API 测验创建
【发布时间】:2017-05-15 17:37:57
【问题描述】:

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

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

我可以通过以下参数集添加N个问题:

  • question_name
  • question_text
  • question_type
  • points_possible
  • answers

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

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

【问题讨论】:

    标签: canvas-lms


    【解决方案1】:

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

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

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

    【讨论】:

    • 文档 (canvas.instructure.com/doc/api/quiz_questions.html) 表明这部分 API 仍处于测试阶段,在我看来这似乎是一个错误。
    • 如果有人将此视为已接受的答案,并且如果现在对此错误有适当的修复,请发布包含该信息的答案。我很乐意将您的答案选为已接受。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      相关资源
      最近更新 更多