Canvas LMS REST API Создание викторины

У меня проблема с созданием викторины с помощью Canvas REST API:

Я могу создать новую викторину с title задавать.

Я могу добавить N вопросов со следующими параметрами:

  • question_name
  • question_text
  • question_type
  • points_possible
  • answers

Когда я смотрю на свою страницу тестов, я вижу, что тест существует, но он показывает только то, что для теста был создан 1 вопрос. Мне нужно перейти на страницу викторины, нажать кнопку " Редактировать" и затем сохранить викторину для всех вопросов, которые будут отображаться на странице викторины.

Чего мне не хватает в этом рабочем процессе?

1 ответ

Решение

Таким образом, для всех, кто интересуется этим вопросом, лучшее решение, которое мне удалось найти, - это взломать. Я попытался сравнить структуру данных модели теста, возвращенную как до, так и после ручного сохранения теста. Были некоторые тривиальные различия, но только несколько значимых. Единственная существенная разница была в question_count приписывать. Он не обновляется после добавления вопросов.

Чтобы "исправить" это: после добавления вопросов вручную обновите question_count атрибут (через PUSH).

Возможно, это ошибка, возможно, я не знаю, что я делаю. В любом случае, если у кого-то есть лучшее понимание API REST Canvas, прокомментируйте или предоставьте лучший ответ.

Просто столкнулся с той же проблемой, и вот возможное решение: сначала создайте тест с published установлен в False. Добавьте свои вопросы. потом editтест (https://canvas.instructure.com/doc/api/quizzes.html#method.quizzes/quizzes_api.update) для установки published к True. Затем добавьте любые переопределения и т. Д.

Другие вопросы по тегам