I manage the hosting of several courses that have final exams. These exam grades need to be reported to several external organizations both with and without my inclusion. How can this be done in Canvas?
There isn't really a built-in automated way to do this.
The instructor can export grades from the Gradebook to a CSV file that can be shared. It includes the whole Gradebook, but it could be edited to only include the column for the final exam. There are instructions for doing the export atHow do I export grades from the Gradebook?
On Mon, Feb 18, 2019 at 3:18 PM email@example.com <
If you want to fully automate this, then you may want to look at retrieving the submissions for the final exam through the Submissions API. Since it's just a single assignment within each course, you could use the List assignment submissions endpoint and repeat it for each course.
Note that the assignment ID is for the assignment, not for the quiz. If you're manually grabbing the IDs, do it from the Assignments page not the Quizzes page. I would grab a list of assignments for each course from the Assignments API and look for the one called "Final Exams". That way, I just have to know which courses to process.
Depending on what you need, that one call to get the submissions may be enough. It returns the score for each submission. If you need other information like user names or IDs, there are various include options to get that. If you need the actual responses to the questions, then add include=submission_history to the query parameter and then look for the submission_data property.
If your classes are small (no more than 100 students), then you can fetch the whole class with one call to the API by including per_page=100 as a query parameter. If the classes are larger, you'll have to mess with pagination.
You'll still need to massage the data to get it into a way that the others want it, but at least it can be done automatically without human intervention.
Retrieving data ...