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:
When I make this call in Postman, no submissions object is received...just assignment objects. What am I missing?
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