lsloan
Community Participant

Mark "External Tool" submission assignment as complete?

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.

Labels (1)
Tags (3)
3 Replies
lsloan
Community Participant

Bump!

If I'm taking the wrong approach to resolve this issue or if there's documentation about how to do this, I'm happy to accept suggestions or pointers to docs.

0 Kudos
lsloan
Community Participant

Another bump!

I think someone must have some experience with this.

0 Kudos

Hey Lance --

Not sure if this is relevant to uploading assignment submission files, but we have a process that uploads files into users' file areas, and to get that to work we had to essentially masquerade as the user. For API calls, that means including the "as_user_id" parameter in the request. 

--Colin

0 Kudos