Two of largest companies in tech - Google and Microsoft - offer educational suites for K12 users and higher educational institutions. Google's suite is named Google Workspace for Education and Microsoft's respective platform is Microsoft 365 Education. These productivity suites also each contain a learning management system: Google Classroom and Microsoft Teams for Education.
These LMSs work a bit different than other major platforms, such as Canvas or Schoology. Furthermore, the userbases for both Google Classroom and Microsoft Teams for Education have ballooned since the beginning of the COVID-19 pandemic. Google Classroom now supports 150 million users and Microsoft Teams has 100 million students on the platform. Both have added tens of millions of new users since the pandemic began.
We're often asked about these two platforms and how to integrate with them. Below, we discuss the similarities and differences of integrating with Google Classroom and Microsoft Teams.
Google Classroom is part of the recently renamed Google Workspace for Education productivity suite. Google Classroom is a lightweight LMS that schools either use to supplement their other learning platforms or to act as their primary LMS.
Apps can integrate with Google Classroom through the Google Classroom API. The API allows apps to act on behalf of authenticated users in Google Classroom. For example, an app could create new resources in a course in Google Classroom or assign grades to a teacher's gradebook for an assessment. Note that Google Classroom does not support the LTI® standard.
One of the drawbacks of the Google Classroom is that the Classroom API cannot retrieve list of rosters or enrollments for an entire school or district. Additionally, Classroom users are organized in Google Workspace by Organizational Units rather than specific schools or sections at a district. These OUs are typically generated by the school's admin on an ad-hoc basis and often do not correlate to a specific entity. For example, an OU might contain a list of all of the students who will graduate in a specific year rather than the list of all of the students at a district's elementary school. This makes it difficult to roster users for any app that needs to know which specific school at a district that a user is coming from.
Furthermore, your the Google Classroom API can tell your app who the teacher and students are for a particular class, but frequently teachers are enrolled as students in the courses of other teachers. Thus, it can be difficult to tell if the authenticated user who is a student in a particular class is a primarily a student or primarily a teacher.
It should also be noted that Google recently announced the introduction of Google Classroom add-ons. These are separate from apps that integrate through the Google Classroom API. From the details that have emerged, it looks like add-ons will appear and function directly inside of Google Classroom. Furthermore, the add-ons will only be available to premium Google Workspace for Education accounts.
Microsoft Teams for Education
Microsoft Teams for Education is part of the Microsoft 365 Education suite. The LMS is essentially the Microsoft Teams platform with added features to support online learning, such as the ability to create assessments and assign grades.
Apps can integrate with Microsoft Teams through the Microsoft Graph API (specifically, the education API). The Microsoft Graph API allows an application to act on behalf of an authenticated user in Microsoft Teams. This means that an integrated application can perform certain functions, such as obtaining the list of enrollments for a user, creating assignments, or passing back grades to the user's gradebook. Similar to Google Classroom, Microsoft Teams for Education does not support the LTI standard.
In order to integrate your app with a district's Microsoft Teams environment, you must obtain consent from the district's IT administrator. Once granted, your app can obtain rostering information from any school in the connected district. Since teacher and student enrollment data in Microsoft Teams originates from a district's Azure Active Directory database, the rostering APIs can obtain a full list of schools and classes where users are enrolled. The Microsoft Graph rostering APIs can also retrieve the primary role of the user (i.e. teacher, student, or administrator).
It needs to be noted that most of the education API (including any API calls regarding the creation of assignments or grade passback) is still in beta. This means that Microsoft can change these APIs at any time and can cause your integration to break.
Both Microsoft Teams for Education and Google Classroom are widely popular LMSs. Schools are looking for products that can integrate with these platforms. However, neither platform supports the LTI standard, so all apps must use APIs to connect to these LMSs. Microsoft Teams and Google Classroom each have quirks that can make integration difficult and they can cause roadblocks in developing your integrations.
If you're in need of integrating your app with Google Classroom or Microsoft Teams, we'd love to chat with you! The Edlink platform was designed to give companies a way of integrating with every major LMS with a unified API. Our developers have spent years building LMS integration, so we know all of quicks of each system and how to overcome these obstacles. If you'd like to hear more, please reach out to us at email@example.com or leave us a message at our support page.
Learning Tools Interoperability® (LTI®) is a trademark of the IMS Global Learning Consortium, Inc. (www.imsglobal.org).