Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
hess
New Member

Get whether assignment has been graded or not.

We have built a dashboard for our students. We have a dial that shows assignments submitted versus needing submitted. The issue we have faced is that some of our courses use 3rd party tools that post a grade in gradebook, but do not mark the assignment as submitted. So we thought we would switch this dial to show graded versus not graded. In looking through the API, it looked like we could pull that list assignments by user and passing the include[]=submission parameter. Our endpoint is structure as so:

https://ourschool.instructure.com:443/api/v1/users/####/courses/##/assignments?per_page=9999&include...

When I make this call in Postman, no submissions object is received...just assignment objects. What am I missing? 

 

Labels (3)
0 Kudos
2 Replies
James
Community Champion

@hess 

I'm not saying this is the solution, but the most common problem recently has been using an API token for someone that isn't in the course or doesn't have any submissions (like a teacher or admin).

If you want to want to test it for a student, you need a token for that student or you need to use masquerading.

@hess The "include[]=submission" parameter only returns submissions for the current user -- which would normally be you since you're using your API token to access that submission.

See documentation here: https://canvas.instructure.com/doc/api/assignments.html#method.assignments_api.index

I would use @James 's suggestion to masquerade in order to get the status of a submission for the current student. https://canvas.instructure.com/doc/api/file.masquerading.html