Skip to contents

Constructs a request object to interact with the Canvas Learning Management System's API using specific course and quiz parameters. Requires environment variables for Canvas domain, course ID, and API token.

Usage

canvas_api(...)

canvas_new_quiz(...)

Arguments

...

Additional parameters to specify the quiz endpoint.

Value

A httr2 request object pre-configured with the Canvas domain, course ID, and API token, see ?canvas_env_vars. See browseVignettes("httr2") for how to work with request objects.

Details

canvas_api() is for API operations ("endpoints") beginning with api/v1/courses and documented at https://canvas.instructure.com/doc/api/index.html. In particular, the Classic Quizzes API is documented at https://canvas.instructure.com/doc/api/quizzes.html.

canvas_new_quiz() is for New Quizzes, which instead is at api/quiz/v1/courses and documented at https://canvas.instructure.com/doc/api/new_quizzes.html.

Examples

if (FALSE) { # \dontrun{
library(tidyverse)
library(httr2)
# Get information on all course modules
modules <- canvas_api("modules") |>
  req_perform() |>
  resp_body_json()
# We need to compact() to remove NULL elements for map_dfr() to work
modules |> map_dfr(compact)
} # }