Activity Feed
- Got a Like for Re: Integrate Khan Academy into Canvas.. 08-08-2022 05:20 AM
- Got a Like for Re: Integrate Khan Academy into Canvas.. 01-12-2022 12:31 PM
- Posted Re: Integrate Khan Academy into Canvas. on Canvas Question Forum. 09-30-2021 02:04 PM
- Got a Like for Re: Integrate Khan Academy into Canvas.. 09-29-2021 07:53 AM
- Got a Like for Re: Integrate Khan Academy into Canvas.. 09-28-2021 09:22 AM
- Posted Re: Integrate Khan Academy into Canvas. on Canvas Question Forum. 09-28-2021 09:20 AM
- Posted Re: Integrate Khan Academy into Canvas. on Canvas Question Forum. 05-01-2021 08:15 PM
- Posted API PUT request does nothing on Canvas Question Forum. 04-11-2021 04:54 PM
- Tagged API PUT request does nothing on Canvas Question Forum. 04-11-2021 04:54 PM
- Tagged API PUT request does nothing on Canvas Question Forum. 04-11-2021 04:54 PM
My Posts
Post Details | Date Published | Views | Likes |
---|---|---|---|
I'm trying to use the Canvas API through Google Apps Script to send students scores in for the classes I teach. Currently, I'm attempting to use the "Grade or comment on a submission" documented here... |
04-11-2021 |
733 |
0 |
09-30-2021
02:04 PM
This is a good point. As of right now, Khan does allow districts to auto roster Khan Academy classes from a system such as Clever (which is in turn linked with the rosters on Canvas). I'm not sure what kind of data is used to create those accounts for students and whether it's enough to create hard connections between Khan Academy and Canvas.
There are unique IDs for Khan Academy users (known as the kaid) so there seems to be some infrastructure for tying accounts between the two systems especially if they were auto rostered.
I think what a lot of people are looking for is a way to import scores for exercises, quizzes, and tests and then a completion flag for videos and articles into a corresponding Canvas assignment. Again, the infastructure is already available on Canvas' side (their public API) but the Khan side is fairly closed off.
... View more
09-28-2021
09:20 AM
3 Likes
I definitely agree Khan Academy should be working to integrate this. I think it's worth pointing out, though, that KA had an integration not that long ago (I don't think it transferred grades but just allowed linking content) and that disappeared when KA decided to completely kill off their API as of July 2020 (link). Without a functioning public API, there isn't much chance of this happening or even someone trying to make a direct integration on their own.
Why they got rid of their public API in the first place I have no idea.
I got sick of waiting and made what I did, getting as close as I could to an integration. But even then, ignoring the fact that they have no API, there isn't a way to import students with sortable names. Both Google Classroom integration and district auto-rostering are unreliable for supplying sortable names for students. It doesn't sound like Khan Academy's integration department is up to much of anything these days. The only change I've seen to Khan Academy in the three years I've been using it is they added the option to include a start date on assignments.
Note: for those of you who don't know what an API is, it's an application programming interface that bascially allows systems to "plug into" each other and share data. Canvas has an absolutely amazing public API. Wish others in the edtech field were more like them in that sense.
... View more
05-01-2021
08:15 PM
1 Like
I came across this thread last spring looking for a way to make this work. Unfortunately, Khan Academy's API is non-existent anymore making a direct integration difficult. So, since last spring I've been working on making a way to make the two communicate as best as possible. I developed an application built on a Google spreadsheet that reads in Khan Academy CSV files and automatically sends the scores to your Canvas grade book. It does take a little bit to set up because it needs a way to match students in Khan and Canvas. The link below will take you to a website that has the spreadsheet and extensive documentation on it and how to set it up. I linked a demo video below to see it in action. Hope it helps someone! Feel free to report any bugs to me.
Demo: https://youtu.be/oQoVrhpp7R0
Website: https://apps.joshbunzel.com/docs/khan2canvas/
... View more
04-11-2021
04:54 PM
I'm trying to use the Canvas API through Google Apps Script to send students scores in for the classes I teach. Currently, I'm attempting to use the "Grade or comment on a submission" documented here. I know that my URL is set up correctly as I can test out API calls using Canvas' live API feature. The response code comes back as 200 however the student's grade remains unchanged.
Here's the code I'm using:
var url = "https://hsccsd.instructure.com:443/api/v1/courses/"+getcourseid()+"/assignments/"+assignmentid+"/submissions/"+studentid;
var payload = JSON.stringify({
"score": 7
});
var headers = {
"Authorization": "Bearer " + getcanvasaccesstoken()
};
var options = {
"contentType": "application/json",
"method": "put",
"headers": headers,
"payload": payload,
"muteHttpExceptions" : true,
};
var apiresponse = UrlFetchApp.fetch(url,options);
The request (using UrlFetchApp.getRequest) gives me:
{method=put,
useIntranet=false,
followRedirects=true,
headers={Authorization=Bearer <token},
contentType=application/json, validateHttpsCertificates=true,
url=https://hsccsd.instructure.com:443/api/v1/courses/6656/assignments/3497414/submissions/60144,
payload={"score":7}}
Again, the response I receive back shows no change in the "score" parameter. I'm not sure if there is maybe an issue with how the payload is formatted. This works through the Canvas Live API but it doesn't show me how a similar request should be formatted only the url.
... View more
Labels
- Labels:
-
Canvas