How to Use the Schoology API
Schools, more than ever, are looking for products that can integrate with their LMS. Depending on the needs of the school, this integration may be as simple as being able to sign into an app with LMS credentials or as advanced as allowing the app to pass grades back to the gradebook in the LMS.
Schoology is one of the fastest growing LMSs in the nation, with many schools switching to the platform just in the past year. With so many districts adopting Schoology, it's important for edtech vendors to know Schoology integration works. Apps can integrate with Schoology either through the LTI® standard or through the Schoology API.
In this article, we'll focus specifically on integration through the Schoology API and discuss what your app can do with the API.
Single Sign-On (SSO)
Schoology allows developers to authenticate users into their third-party apps by having the user sign in with their Schoology credentials. This process is called SSO - or single sign-on.
An app can either create an account for a new user who signs in with their Schoology credentials or match the user with an existing account stored in the app's database. While many apps match users based on their email address listed in Schoology, there are several reasons why you should choose a different identifier. Note that the authentication process will never expose the user's Schoology password to the app.
Note that Schoology is a bit different in that it only supports authentication through OAuth 1.0. Most modern platforms use OAuth 2.0 to authenticate users.
Once a user is authenticated, the app can start to communicate with the user's Schoology environment. This is where the API comes in.
Content Integration
Through the API, apps that authenticate a user through Schoology can make requests back to authenticated user's Schoology environment. This means that your app can generate resources that appear for the user in Schoology. Content integration lets your app talk to Schoology while maintaining the user's experience in the app.
For example, a teacher can log into your app with their Schoology credentials and assign a lesson from your app. Your app then acts as the teacher and sends the necessary information to Schoology to generate the lesson and post it to the teacher's specified course.
The Schoology API allows apps to read, create, or modify a variety of resources in the user's Schoology environment, including:
- Assignments
- Student submissions
- Polls
- Enrollments
- Courses
- Pages
Click here for a full list of objects that can be accessed by the Schoology API.
Grade Passback
In addition to updating resources, the Schoology API can also let your app send and update scores in the user's gradebook. This reduces the amount of time teachers have to usually spend to get grades from an external source into their gradebooks.
This benefits the developer, as well. By relying on the API to sync grades between Schoology gradebooks and your app, you won't have to spend time developing your own gradebook or other methods to export grades.
Rostering
The Schoology API can be used to retrieve a lists of users, their courses, and their enrollments. This is helpful if you want to be able to create accounts for users before they login. In addition, rostering through the API lets you gather lists of enrollments in real time, reflecting changes when students leave or join courses during the school year.
How to Get Started Using the Schoology API
The first step to Schoology integrations is to review the Schoology API documentation and to sign up as a Schoology App Developer.
Read More on Schoology
Here are other articles we’ve written on Schoology to help you on your journey:
- How to Implement Single Sign-On
- How Do I Choose? API vs. LTI Schoology Integrations
- The Challenges of Integrating with Schoology
- 5 Do-It-Yourself Tips for Building a Successful LMS Integration for EdTech Developers
- Common Pitfalls of LMS Integration
Learn More about Edlink
If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!