Introduction
This vignette demonstrates how to retrieve group memberships in a course using the Canvas LMS API.
Step 1: List courses
library(vvcanvas)
# Specify the Canvas API authentication details
canvas <- list(
api_key = "YOUR_API_KEY",
base_url = "https://your_canvas_instance/"
)
# Retrieve all courses
courses <- get_courses(canvas)
# Select a course (replace the index with the desired course)
course_id <- course$id[1] ## the first course in courses
Step 2: Retrieve all groups in the course
# Retrieve all groups in the selected course
groups <- get_course_groups(canvas, course_id)
# Extract the group IDs
group_ids <- groups$id
Step 3: Retrieve group memberships
# Retrieve group memberships using purrr
memberships <- purrr::map_df(group_ids, ~{
group_id <- .x
# Retrieve the group's memberships
group_memberships <- get_group_users(canvas, group_id)
# Extract user names from memberships
user_names <- group_memberships$name
# Create a data frame with group memberships
group_df <- data.frame(group_id = rep(group_id, length(user_names)),
user_name = user_names,
stringsAsFactors = FALSE)
return(group_df)
})