Found this content helpful? Log in or sign up to leave a like!
Submissions API for student submission data as an Observer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm a parent working on a Python app to pull in my kids assignments and grades. I'm using a token generated from my own account (as an Observer role).
The Courses and Assignments endpoints have been fine, but I'm running into issues trying to work with Submissions. When I formulate the call for a specific assignment, and only for my student, I get:
API request failed: 404 Client Error: Not Found for url
I'm using the guidance from the docs, and formulating the request as below:
https://canvas.instructure.com/api/v1/courses/<course_id>/assignments/<assignment_id>/submissions/<my_students_user_id>
I've tested each segment with fine results up through assignment, but get the 404 after adding the submission for my student using her user_id.
I can access any submission with no issue via the user portal, via urls like the following:
https://<my_domain>.instructure.com/courses/<course_id>/assignments/<assignment_id>/submissions/<my_students_user_id>
What I'm wondering:
- Does an observer somehow not have permissions? I'd gotten plenty of 403s when testing other routes, so I suspect this isn't the case, esp since I can access the submission via the end user portal.
- Is the API documentation incorrect or out of date? Again, I suspect not given the web portal URL structure very closely resembles the API request.
- Am I missing something small + stupid? This is my main theory, but there's just not a whole lot to mess up.
Seems like this should be pretty straightforward - would appreciate any guidance!