AnsweredAssumed Answered

Mark "External Tool" submission assignment as complete?

Question asked by Lance E Sloan ​ on May 9, 2019
Latest reply on Feb 9, 2020 by Colin Murtaugh

I've developed an LTI that we use in several Univ. of Michigan courses on Canvas.  We can create assignments that have a submission type of "External Tool" that will launch the LTI when students click on the assignment name.  They can work with the tool and complete the assignment.  All works well.


However, the assignment still shows up in the students' UI on their "to do" or "overdue" lists.  How can my app use the Canvas API to tell Canvas that a student has submitted their work?  The LTI already makes a lot of use of the Canvas API to get information about the assignment, the course, and the student.  This would be the app's first use of the API to send information back to Canvas.


My first thought was to use the API's "/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/files" feature to submit a document summarizing the student's work in the LTI app.  However, when I try that in the "Canvas Live API" tool, I'm always told that I'm not authorized to perform that operation.  I've used my own personal token and I have admin privileges in that Canvas instance, so I'm not sure why I'm unauthorized.