This guide introduces the options to connect your service or application with Google Classroom. Select one of these paths to make your content available to users within Classroom stream items.
Integration options
There are three ways to connect your learning materials to Google Classroom:
- Embed Classroom Share buttons in your product
- Use
CourseWork
API to create and manage stream items with hyperlinks to your product - Build a Classroom add-on to to let users discover and access your content within Google Classroom
Classroom Share buttons are the least complex integration. You embed a script in your web application. The script generates a button, which users click to create Classroom stream items. However, your application can't access these stream items after creation, nor access any other Classroom data.
The CourseWork
API and Classroom add-on paths require your web
application to use Classroom API requests to directly control stream
items and their contents. Your application retains access to stream items or
other resources created by either path. You can also request user permission
for access to other Classroom data. However, you are responsible
for hosting, testing, and maintaining all code that interacts with Google.
Classroom add-ons offer the best user experience and discoverability opportunities for your product.
Which user journeys are supported?
Each integration path provides different user experience and access to Classroom resources. See the following matrix of user journeys to compare the three paths.
The icons in the following table indicate whether the user journey is fully supported, not supported, or supported with caveats. Click any to see clarifying information.
Journey | Classroom Share buttons | CourseWork API | Classroom Add-on |
---|---|---|---|
Users provide OAuth consent to my application | |||
I can view Classroom resources associated with a user, such as rosters and courses | |||
I can create coursework that links to my content | |||
I can modify coursework that I've created | |||
I can modify coursework that users create | |||
I can set grades for student submissions |
You can only set grades for coursework that you create programmatically. You can't set grades on coursework created by teachers in the Classroom UI.
|
||
I can access the attachments on student submissions |
You can only access attachments for coursework that you created programmatically. You can't access attachments for coursework created by teachers.
|
||
Teachers discover my content in the Classroom UI |
What are the differences in developer experience?
Each integration path offers a different developer experience. See the following matrix of developer expectations to compare the three paths.
The icons in the following table indicate how well the integration options match each developer journey. Click any
to see clarifying information.Journey | Classroom Share buttons | CourseWork API | Classroom Add-on |
---|---|---|---|
I can build an integration without purchasing Google products | |||
I can customize my content's appearance in Classroom |
You can set assignment fields directly. Google's web crawlers will retrieve icons and titles for URL links you specify.
|
||
I receive information about the user or coursework when they open my content from Classroom |
You can encode identifying details into the URL links you create in Classroom. However, these are fragile and prone to breakage as users copy coursework to other courses.
|