Authorizing Requests

Every request your application sends to the Classroom API must include an authorization token. The token also identifies your application to Google.

About authorization protocols

Your application must use OAuth 2.0 to authorize requests. No other authorization protocols are supported. If your application uses Google Sign-In, some aspects of authorization are handled for you.

Authorizing requests with OAuth 2.0

All requests to the Classroom API must be authorized by an authenticated user.

This process is facilitated with an OAuth client ID.

Get an OAuth client ID

Or create one in the Credentials page.

The details of the authorization process, or "flow," for OAuth 2.0 vary somewhat depending on what kind of application you're writing. The following general process applies to all application types:

  1. When your application needs access to user data, it asks Google for a particular scope of access.
  2. Google displays a consent screen to the user, asking them to authorize your application to request some of their data.
  3. If the user approves, then Google gives your application a short-lived access token.
  4. Your application requests user data, attaching the access token to the request.
  5. If Google determines that your request and the token are valid, it returns the requested data.

Some flows include additional steps, such as using refresh tokens to acquire new access tokens. For detailed information about flows for various types of applications, see Google's OAuth 2.0 documentation.

Here's the OAuth 2.0 scope information for the Classroom API:

Scope Meaning
https://www.googleapis.com/auth/classroom.courses View, create, and delete Classroom courses
https://www.googleapis.com/auth/classroom.courses.readonly View Classroom courses
https://www.googleapis.com/auth/classroom.rosters View class rosters, add and invite people to classes, remove people from classes
https://www.googleapis.com/auth/classroom.rosters.readonly View class rosters
https://www.googleapis.com/auth/classroom.coursework.me View and modify assignments and questions and the work and grades for the current user.
https://www.googleapis.com/auth/classroom.coursework.me.readonly View assignments and questions and the work and grades for the current user.
https://www.googleapis.com/auth/classroom.coursework.students View and modify assignments and questions and the work and grades for the courses that the current user teaches and view the same for the courses the current user administers.
https://www.googleapis.com/auth/classroom.coursework.students.readonly View assignments and questions and the work and grades for the courses that the current user teaches or administers.
https://www.googleapis.com/auth/classroom.announcements View and modify announcements for the current user.
https://www.googleapis.com/auth/classroom.announcements.readonly View announcements for the current user.
https://www.googleapis.com/auth/classroom.guardianlinks.students View and manage guardians for students in your Google Classroom classes
https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly View guardians for students in your Google Classroom classes
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly View your Google Classroom guardians
https://www.googleapis.com/auth/classroom.push-notifications Register for push notifications of Classroom activity.
Additional Scopes - If needed, request these in addition to one or more of the scopes above
https://www.googleapis.com/auth/classroom.profile.photos View user profile photos visible to the authenticated user
https://www.googleapis.com/auth/classroom.profile.emails View user email addresses visible to the authenticated user

To request access using OAuth 2.0, your application needs the scope information, as well as information that Google supplies when you register your application (such as the client ID and the client secret).

Tip: The Google APIs client libraries can handle some of the authorization process for you. They are available for a variety of programming languages; check the page with libraries and samples for more details.

Send feedback about...

Classroom API
Classroom API
Need help? Visit our support page.