-
Maintaining LTI connection when reloading tool
Hello, I am the Canvas LMS Manager for my school district and I know PHP and MySQL but have just started dabbling in building LTI tools. I recently forked the Basic LTI Tutorial Using PHP and was pretty excited to get some basic tools to embed into Canvas and be able to use the Users information. They were fairly…
-
API Login with email/password
Hi, I'm developing an external application that I would like to integrate with Canvas API. I have a login form, where I want users to log in via their email and password (The same credentials they use for logging into Canvas). I looked at the API and the OAuth endpoints but couldn't find how to log in with email/password.…
-
Clicking Back Button After LTI 1.3 Launch Throws Error
I have found that clicking the browser's Back button after a LTI 1.3 tool launch throws an error. The sequence looks like the following: [ User clicks LTI tool link in the Modules area ] 1. GET https://{canvas_domain}/courses/1/modules/items/62 2. POST https://{tool_domain}/{lti_login_path} 3. GET…
-
Hello World LTI Tutorial
Hi community! I was wondering if there was some sort of guide or tutorial on getting a sort of "Hello World" LTI app working that echoes back some basic info like the user ID, etc? I found an old one but it looks like it uses an older version of LTI. The link to sample code listed here is…
-
JavaScript and dynamically loaded elements
Hi community. I am creating a little addon to our Calendar events that allows people to click a button to register for a session. My script works just the way I want it in the full calendar event view because I can simply use: $(document).ready(function() and document.getElementById("my-button-id") and onclick etc. But I'm…
-
GraphQL stopped working with scoped tokens?
We have been working to update to LTI 1.3 and scoped tokens. We have been using GraphQL for several years Before we made the switch I received an assurance from Canvas developers that GraphQL would work with scoped tokens. Our tests worked so we spent a few months building it, but this morning when we use a scoped token,…
-
Can't create questions using Python API in Production Canvas
I use this python library pip install canvasapi I am successfully created a new quiz via a Python API I use the following code to create questions for a quiz (that's online part of a bigger code) def fillQuizWithQuestions(quiz_template_questions, new_quiz): for quiz_template_question in quiz_template_questions:…
-
Canvas HTML Editor
Hi, I have a question about the HTML editor. Up until recently if you were working in the HTML view of a page in Canvas and navigated away, say to a differing web browser tab, upon returning the cursor would always jump back to the top of the HTML (this seemed to happen regardless of web browser). It was annoying but as…
-
LTI 1.3 : What to do with the id_token in Step 4
I've setting up a hello world LTI 1.3 ,and I've got it working to the point that I'm getting back what appears to be a valid id_token I can take this id_token, and paste it into https://jwt.io/ and I can see expected results. What I can't figure out is what jwt.io is doing to decode/decrypt this id-token. The docs say…
-
Documentation Request
Looking here https://canvas.instructure.com/doc/api/file.lti_dev_key_config.html It would be helpful if the Canvas docs simply spelled out ALL the required parameters in step 2, including examples of each required parameter. Instead of listing a few of them and then having me jump to the IMS Spec page to figure out the…
-
Inconsistency in LTI 1.3 Documentation
Looking here https://canvas.instructure.com/doc/api/file.lti_dev_key_config.html in Step 2, the docs say Among the required variables the request should include: * a redirect_uri, which must match at least one configured on the developer key. * a client_id that matches the developer key. This must be registered in the…
-
Interacting with Canvas Live API
After poking around the docs and here in the forum, I still need some guidance on the best path forward for my intent. Note that I am approaching this as a developer without association to any school. What I am trying to Implement * Build an application that integrates with Canvas to do the following: * Accesses a…
-
Problem Posting C# (Calendar Event) JSON
I'm trying to post a calendar event using C# HttpWebRequest and am running into issues. I've borrowed from a previous similar project but am presently stumped. I'd be very grateful for any suggestions! Here is the code chunk: private int sendNewEvent(string JSON) { try { string token = Canvas_Connect.Token; string…
-
Getting complete content of long list to script without scrolling
Hi, This message is written from the perspective of automating Canvas tasks using browser extensions. In Canvas, the contents of some long lists (like People or Pages) are not displayed all at once, but pice by piece, adding more items when the user scrolls down to the (temporary) bottom of the incomplete list, a bit like…
-
How to link a correct course from canvas to a LTI tool provider from launch?
We are working on launching an LTI tool from canvas course level. The context information inlcuding courseCode and courseNeme could are captured in context claim during launch. but obviously, the tool provider have different courseIDs from canvas, and we want to direct to the final course page on tool provider which…