-
How to bulk load and update avatar profile pictures with Powershell.
[UPDATE 2024.02.20 - I've refined the code around this process, and posted it in a new blog article here: https://community.canvaslms.com/t5/Canvas-Developers-Group/How-to-Bulk-Load-and-Update-Profile-Avatar-Pictures-with/ba-p/595843. The info in the article below is significantly out of date, but some of it might help to…
-
Error in API documentation for Notification Preferences API
GET /api/v1/users/:user_id/communication_channels/:communication_channel_id/notification_preferences Returns a list of NotificationPreferences False: It returns { 'notification_preferences': [ list ] } where iist lis a list of NotificationPreferences.
-
Postman Canvas API collection
I posted this in a previous thread that is now rather buried in the new structure, so I'm reposting for those who might be interested. I've written a python script to collect all the API docs from the Swagger documentation and create a collection that you can import into Postman. At latest count there are 800 requests…
-
oEmbed Token Guide
Summary Instructure recently issued a security advisory for a “medium” level security issue around Canvas + oEmbed. To mitigate this issue, a breaking change to the Canvas oEmbed flow was made that validates the identity of the party requesting the retrieval of an oEmbed object. This guide details the changes to Canvas, a…
-
How to Archive Courses via Python
This blog describes how to archive courses using a Python class and a mapping file. Start thinking about archiving your courses and rolling them over into an Archive sub-account with several archive terms. What if you could make the terms more dynamic so the names reflect some sort of offset from the current school year?…
-
Safari 13.1 and LTI Integration
This blog post was authored by Xander Moffatt who is a Software Engineer on our Interoperability Team. tl;dr Safari blocks all 3rd-party cookies by default, which breaks LTI tools that rely on setting cookies when launched in an iframe. Instead, it exposes a new API for getting user-permitted access to set cookies from an…
-
Flexible entry of user identification to a program to use via APIs
After the fun yesterday of using the dashboard cards to make the entry of a course ID easier (Using the dashboard information via the API in programs ). I decided to do a similar thing for user IDs, so rather than have to enter a Canvas user_id for each program - why not be more flexible with a "person_id". The result is a…
-
Using the dashboard information via the API in programs
In most of my programs that use the Canvas API, I take in the course_id from the command line in numeric form (i.e., the string: 11). One of my colleagues said that he does not like to remember the course numbers but would rather use the course code or a nickname. So this motivated me to see if one could use the dashboard…
-
Canvas to Deliver Free Online Training Course for Apple Development in Swift Coding Curriculum
To support educators in teaching Swift Apple's powerful and intuitive open-source programming language, a new Develop in Swift Professional Learning course from Apple is now available on the Canvas Learning Management System. The course gives high school, community college, and university educators the opportunity to learn…
-
How to Upload an Assignment via API using Powershell
You will require the following variables set up accordingly. Values such as $USERID, $COURSEID and $ASSIGNMENTID can be obtained from the API or looking at link URLs in the Canvas web interface. >> $token = '' >> $headers = @{"Authorization"="Bearer "+$token} >> $userId = 123 >> $asUserId = 456 >> $courseId = 789 >>…
-
CATME (or other) Automated Team Upload
I've developed a tool I wanted to share here. I teach multiple sections of a course with up to 72 students per section. I typically merge all sections of my course into a single canvas site. This works well for most things, but grouping 360 students into 60 teams manually is a nightmare. The GUI for team management is an…
-
Get a List of Students and Missing Work
In a Canvas course, you can quickly check the number of missing assignments for single students relatively quickly. You can also message groups of students missing specific assignments from the analytics page (or the gradebook). What you can't do is get a list of all students in a course and their missing assignments in a…
-
Duplicate Course Enrollments with Python
While schools are closed, we've moved much of our long term staff development material into Canvas. We have one long-running course with all staff split into site-based sections that has worked as a model for others. We needed a way to essentially duplicate the template course enrollments into new training courses.…
-
ChatBot
So I thought I would try to make a ChatBot for Canvas to add to our staff EdTech Help canvas course. I had come across a number of posts and ideas mentioning this a way back - this one in particular from @sonya_corcoran - Microsoft's QnA Maker = Canvas FAQ ai and also https://community.canvaslms.com/ideas/5717"…
-
Update Student Notification Preferences with Python
This post was originally published on my own blog. In moving to online, we've tried to streamline all of our communication through Canvas. The goal is to cut down on disconnected email threads and encourage students to use submission comments to keep questions and feedback in context. The Problem Many students had already…