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 student’s account.
Retrieve the student’s courses.
Retrieve the assignments associated with each course along with each assignment’s data such as name, description, unlock_at, updated_at, lock_at, due_at, and course_id.
I am trying to find clarification on the following:
What is the best way to interact with the Canvas Live API?
Is installing Canvas locally the best or only option?
Is it possible to interact with the Canvas Live API using a cloud based account?
Is generating a developer key something that can only be accomplished by a user with admin privileges?
The documentation states “It is recommended that you have at least 150GB of available hard drive space, 8GB of RAM, and a quad-core CPU to use this script.”. Is this true for all installations or is there a lighter weight version that can be used for development?
I have my assumptions for all of these questions but don’t want to solely rely on them.
The Canvas Live API will work on a cloud-based instance of Canvas. It is not restricted to teachers or admins and if you had a Canvas Free for Teachers account, you could test it.
The problem is the developer key portion. Only Canvas Admins can generate developer keys and Canvas Free for Teachers doesn't allow you Admin access.
If you are trying to install Canvas to do development, you might want to look at the Bitnami Canvas LMS stack. It can be installed on the cloud, on your computer, or in a virtual machine. The requirements there are a minimum of 5GB RAM and 150 MB hard drive space. It does not list a number of cores, but that requirement seems that would be for responsiveness and if you're willing to wait, you could use fewer cores. The 150 MB hard drive space isn't going to last long, but it might be okay for development purposes.