Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Hi @chriscas
I hope you’re doing well.
I was wondering if there is a way to use external APIs within Canvas or post APIs from other services to integrate them with Canvas. Could you please let me know if this is possible and how it can be done?
Your guidance would be greatly appreciated.
Thank you for your help! in advance.
Hi @DeveshMishra,
The most official way to integrate tools with a learning management system like Canvas is via the 1EdTech Learning Tools Interoperability specification (the 1.3 version is the newest version of the spec).
In broad terms, there are many possibilities, including API, but it really depends on what you're trying to do. As a Canvas admin, I can tell you that we scrutinize integrations that use APIs more than ones that are LTI-only, but sometimes utilization of APIs is needed. This is a very big topic, so it's hard for me to give you many specifics without knowing more about what kind of tool/service you're trying to integrate.
I'll move this post over to the Developers Group area of the community where more coders hang out and may chime in with some guidance for you.
If you're able to give any more info about what you're trying to do, that would really help everyone give you the best advice.
-Chris
Hi @chriscas
I have an API from where I can access multiple courses. Now I want to consume that API in Canvas. Please help me with that, how can I use that POST API?
Hi @DeveshMishra,
If you're trying to call an external API from within Canvas LMS, the only way I know to do that would be through JavsScript uploaded to the Canvas account theme. I'd encourage you to try to develop a different approach though if this is an integration you're going to be trying to sell or offer to schools/institutions, because these types of integrations will face a lot of scrutiny, though this is required in some cases. You're going to need to be very careful with this, especially with a POST call, as you generally don't want to expose your auth token in plain text JavaScript.
Without knowing more details about your app, I'd still really encourage you to look at the LTI standard and try to make things work through that. The more normal situation would be to launch into an external app from Canvas using the API standard, then if the app itself needed more data than Canvas provided or needed to interact with the Canvas API, that would be done through an oAuth2 flow.
This is getting out of my area of expertise as an admin, but I'm sure some others can chime in here too and point you in a good direction.
-Chris
Hi @chriscas
Thank you for your response.
It would be great if you could arrange a demo call with your tech team to discuss it and provide the appropriate solution.
Hi @DeveshMishra,
Sorry for any possible confusion over this, but I do not work for Instructure/Canvas. I have been a Canvas administrator in higher-ed for about 11 years, so I have a decent amount of knowledge about Canvas and integrations and can answer quite a few questions here in the Instructure Community, but that is about the extent of my abilities. You may want to look into the Instructure Partnership program, where you could get access to Instructure specialists that may be able to assist you. This is a paid partnership program, but it may be worth it for you to investigate.
Hope this helps!
-Chris
To participate in the Instructure Community, you need to sign up or log in:
Sign In