Post grades in Canvas

552 views
Skip to first unread message

Vinod

unread,
Feb 7, 2014, 12:59:03 AM2/7/14
to canvas-l...@googlegroups.com
Hi,
I would like to know how I can post the grades to Canvas course from an External tool . I have assignments in Extenal tool which students have taken in our application and now I want to post the score.

Should I first call create assignment and then post the grades ?

Thanks in advance.


Brad Humphrey

unread,
Feb 7, 2014, 10:46:10 AM2/7/14
to canvas-l...@googlegroups.com
If the assignment is already set up as an external tool assignment then you can use the LTI outcomes extension instead of the canvas API (https://canvas.instructure.com/doc/api/file.assignment_tools.html).  This is a special LTI standardized API call that uses LTI signing instead of canvas oauth to return a grade.  The benefit to this is that you won't need to manage canvas access tokens or know much about the canvas domain to write grades back via LTI.

If you are doing the assignments completely on your side, you can use the API to create assignments first (as the teacher) and then to post submissions (as the student).  If you want the grading to be done on your side also, you can grade the assignments using the API as the teacher.  With this kind of integration, it would probably make sense to create the assignment in Cavnas when the teacher creates it on your side, and then remember the canvas assignment id for when the student submits or the teacher grades in your system.  You probably don't want to create a new assignment in canvas each time a student completes an assignment on your side.


       


--
 
---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Vinod

unread,
Feb 8, 2014, 8:01:40 AM2/8/14
to canvas-l...@googlegroups.com
Thanks Brad for the information.

Is there a way I can create assignment as an external tool via API (Let's say instructor creates an assignment in external tool - TP and push this assignment in canvas as an external tool). Once this is achieved , Canvas will pass the details about the assignment when students access this in canvas , I can post the grades using the first approach. Since it is LTI outcomes, i have that api in my system.

Any help would be really helpful in resolving the integration in a smoother manner.

Eric Korb

unread,
Feb 9, 2014, 8:43:10 AM2/9/14
to canvas-l...@googlegroups.com
Yes, you can do almost anything via the api from a LTI app. But, you'll need manage tokens except in those special situations like grade pass back.

Eric

Vinod

unread,
Feb 9, 2014, 10:38:25 AM2/9/14
to canvas-l...@googlegroups.com
Thanks Eric,

How to manage the tokens in this case ? 

Vinod

unread,
Feb 9, 2014, 10:40:16 AM2/9/14
to canvas-l...@googlegroups.com
Eric, If possible if you can elaborate on managing access tokens part , it will be really helpful. I am trying to do a kind of deep integration with canvas and i am stuck when it comes to mapping the assignments created in TP with a new link to be created in Canvas.


On Sunday, February 9, 2014 8:43:10 AM UTC-5, Eric Korb wrote:
Message has been deleted

Eric Korb

unread,
Feb 9, 2014, 11:04:44 AM2/9/14
to canvas-l...@googlegroups.com
First, you need to get a API key from the hosted Canvas Installation.  That can come in two ways.  Either an admin sends you one to use, or you can request one via oauth through our LTI app.  However, this generally only works in instructure hosted installs.  Open Source keys must be supplied to you. @Brad please confirm. You can apply for a developer API key from Instructure directly at https://www.edu-apps.org/index.html
Next you need to put oauth key authorization in place.  Docs are here: https://canvas.instructure.com/doc/api/file.oauth.html  I warn you, this is likely the hardest part to get right, but once its done, no issues.  Also, if you become a Partner with Instructure, they will provide some on-boarding assistance - shout-out to Karl @instructure - thanks!

Eric @accreditrust - BadgeSafe for Canvas - LTI App.

Eric Korb

unread,
Feb 9, 2014, 11:06:38 AM2/9/14
to canvas-l...@googlegroups.com
Corection: "...through your LTI"

Brad Humphrey

unread,
Feb 10, 2014, 11:27:44 AM2/10/14
to canvas-l...@googlegroups.com
You actually need to request a developer key using a form over at http://instructure.github.io/.  There are more instructions under the Dev Key Signup header.


       


On Sun, Feb 9, 2014 at 9:06 AM, Eric Korb <eric...@gmail.com> wrote:
Corection: "...through your LTI"
Reply all
Reply to author
Forward
0 new messages