As with any LMS, integrating content is not an easy task. Developing an integration with Google Classroom (GC) requires requisite knowledge of G-Suite and the Google Classroom API.
Google Classroom Does Not Support the LTI Specification
Arguably, the biggest difference between GC and other LMS providers is GC’s lack of support for the Learning Tools Interoperability (LTI) specification, developed by 1EdTech. The LTI specification is designed to give publishers a method to integrate content into any LTI-specification-compliant LMS. While many major LMS providers, such as Schoology, Canvas, and Moodle, have adopted the LTI specification, GC has not.
The LTI specification works by allowing users to launch into an external application from their own LMS. The content contained in the application also appears within the confines of the LMS. Since GC does not support the LTI specification, users will have to log in using another single sign-on (SSO) method, like through the G-Suite API. The typical workflow for users who log in using SSO with G-Suite will start on the developer's external application and sign into their account there. Once signed in, the user can then use the integrated features of the application, such as assignment creation and grade passback, with their instance of GC.
Google Classroom Does Not Support Full Rostering
Many platforms and edtech products require that users have pre-provisioned accounts before they log in. Meanwhile, GC forces developers to provision accounts on the fly when users log in. Additionally, course rosters cannot be automatically updated through the API. If a student logs in using G-Suite’s SSO but then leaves the class, the developer must manually remove the student. Applications that require rostering from a provider, such as OneRoster, will have an extremely challenging task of reconciling that data with the list of users from GC.
Additional Challenges
In addition to the LTI specification and rostering challenges, developers who wish to create GC integrations may run into additional issues.
For example, the Google API requires that developers submit their apps for verification if it uses certain sensitive scopes, which many Classroom API functions require. Developers should expect to go through the verification process, which means making a case to Google to use the sensitive scopes. Developers should know that Google does not offer support for the development of GC integrations.
Onboarding is another problem that every edtech product has to solve. On top of the rostering issues discussed earlier, the onboarding process will require educating IT admins, educators, and students on how to use the integrated features within the product (once built). For schools that use G-Suite for Education, the IT admins must also whitelist the product so their educators and students can properly access the product’s content.
In Summary
It's worth noting that these challenges are more frequently faced by developers who are new to the G-Suite and GC API's. Onboarding a school onto a new platform with a new GC integration is often more challenging than one might expect. Aspects of integration, such as rostering and sensitive scope verification can act as roadblocks to an otherwise successful product roll-out.
Updated | 7.4.24
Read More on Google Classroom
Here are other articles we’ve written on Google Classroom to help you on your integration journey:
- How to Implement SSO for Google Classroom
- How to Whitelist an Application in Google
- Should I Integrate with Schoology or Google Classroom
- What Information is Available Through the Google Classroom API?
- How Your App Can Sync Assignments and Grades with Google Classroom
Want to 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!