If you don't want to mess around with the API and a script to parse the result you can also get the json data and feed it to PowerQuery (part of Excel).
Get the link to the assignment, then change "assignments/" into "gradebook/speed_grader.json?assignment_id=".
This will give you the raw json data.
E.g. https://canvas.maastrichtuniversity.nl/courses/7730/assignments/39675 becomes https://canvas.maastrichtuniversity.nl/courses/7730/gradebook/speed_grader.json?assignment_id=39675
Save this file as a json file. Open it with PowerQuery (or Power BI Desktop, it's free). Btw, you can use https://jsoneditoronline.org/# to view your json data.
The following script should do the trick:
let
Source = Json.Document(File.Contents("Whichever_folder_you_stored_the_file/speed_grader.json")),
#"Converted to Table" = Table.FromRecords({Source}),
#"Expanded turnitin_settings" = Table.ExpandRecordColumn(#"Converted to Table", "turnitin_settings", {"originality_report_visibility", "s_paper_check", "internet_check", "journal_check", "exclude_biblio", "exclude_quoted", "exclude_type", "exclude_value", "submit_papers_to"}, {"turnitin_settings.originality_report_visibility", "turnitin_settings.s_paper_check", "turnitin_settings.internet_check", "turnitin_settings.journal_check", "turnitin_settings.exclude_biblio", "turnitin_settings.exclude_quoted", "turnitin_settings.exclude_type", "turnitin_settings.exclude_value", "turnitin_settings.submit_papers_to"}),
#"Expanded integration_data" = Table.ExpandRecordColumn(#"Expanded turnitin_settings", "integration_data", {}, {}),
#"Expanded context" = Table.ExpandRecordColumn(#"Expanded integration_data", "context", {"id", "concluded", "rep_for_student", "students", "active_course_sections", "enrollments", "quiz"}, {"context.id", "context.concluded", "context.rep_for_student", "context.students", "context.active_course_sections", "context.enrollments", "context.quiz"}),
#"Expanded context.rep_for_student" = Table.ExpandRecordColumn(#"Expanded context", "context.rep_for_student", {}, {}),
#"Expanded rubric_association" = Table.ExpandRecordColumn(#"Expanded context.rep_for_student", "rubric_association", {"id", "rubric_id", "association_id", "association_type", "use_for_grading", "created_at", "updated_at", "title", "summary_data", "purpose", "url", "context_id", "context_type", "hide_score_total", "bookmarked", "context_code", "hide_points", "hide_outcome_results", "root_account_id", "workflow_state"}, {"rubric_association.id", "rubric_association.rubric_id", "rubric_association.association_id", "rubric_association.association_type", "rubric_association.use_for_grading", "rubric_association.created_at", "rubric_association.updated_at", "rubric_association.title", "rubric_association.summary_data", "rubric_association.purpose", "rubric_association.url", "rubric_association.context_id", "rubric_association.context_type", "rubric_association.hide_score_total", "rubric_association.bookmarked", "rubric_association.context_code", "rubric_association.hide_points", "rubric_association.hide_outcome_results", "rubric_association.root_account_id", "rubric_association.workflow_state"}),
#"Expanded context.students" = Table.ExpandListColumn(#"Expanded rubric_association", "context.students"),
#"Removed Other Columns" = Table.SelectColumns(#"Expanded context.students",{"context.students"}),
#"Expanded context.students1" = Table.ExpandRecordColumn(#"Removed Other Columns", "context.students", {"id", "name", "rubric_assessments"}, {"id", "name", "rubric_assessments"}),
#"Expanded rubric_assessments" = Table.ExpandListColumn(#"Expanded context.students1", "rubric_assessments"),
#"Expanded rubric_assessments1" = Table.ExpandRecordColumn(#"Expanded rubric_assessments", "rubric_assessments", {"data"}, {"data"}),
#"Expanded data" = Table.ExpandListColumn(#"Expanded rubric_assessments1", "data"),
#"Grouped Rows" = Table.Group(#"Expanded data", {"id"}, {{"Count", each _, type table [id=text, name=text, data=nullable record]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each Table.AddIndexColumn([Count],"Index",1)),
#"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"id", "name", "data", "Index"}, {"id.1", "name", "data", "Index"}),
#"Removed Other Columns1" = Table.SelectColumns(#"Expanded Custom",{"id.1", "name", "data", "Index"}),
#"Expanded data1" = Table.ExpandRecordColumn(#"Removed Other Columns1", "data", {"id", "points", "criterion_id", "learning_outcome_id", "description", "comments_enabled", "comments"}, {"data.id", "data.points", "data.criterion_id", "data.learning_outcome_id", "data.description", "data.comments_enabled", "data.comments"})
in
#"Expanded data1"
Any questions? Feel free to drop me an email at nico.rasters@maastrichtuniversity.nl
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.