Skip to main content

Authorization

Follow this guide to create a new Google Classroom API credential that will allow Nexla to authenticate to and exchange data with your Google Classroom account.
google_classroom_api_auth.png

Google Classroom API

Prerequisites

Before creating a Google Classroom API credential in Nexla, ensure the following requirements are met.

Google Account and Classroom Access

An active Google account with access to the Google Classroom environment you want to connect is required. The account must have appropriate Classroom permissions — either as a teacher, domain administrator, or a user with the relevant course-level access — depending on what data you need to retrieve or manage.

Google Workspace Domain Considerations

The Google Classroom API is primarily intended for use within Google Workspace for Education domains. If your organization uses a Google Workspace account, your domain administrator may need to authorize third-party application access before you can complete the OAuth authorization flow.

If you encounter an "access denied" or authorization error during the OAuth flow, contact your Google Workspace administrator to confirm that Nexla is permitted to access Classroom data. For details on controlling third-party app access, refer to Google's documentation on managing connected apps.

Required OAuth Scopes

The Nexla Google Classroom API connector uses OAuth 2.0 to authenticate with the Google Classroom API. During the authorization process, Nexla will request access to the following scopes:

  • https://www.googleapis.com/auth/classroom.courses — View and manage your Google Classroom classes (courses).

  • https://www.googleapis.com/auth/classroom.courses.readonly — View your Google Classroom classes.

  • https://www.googleapis.com/auth/classroom.rosters — Manage your Google Classroom class rosters (teachers and students).

  • https://www.googleapis.com/auth/classroom.rosters.readonly — View rosters in your Google Classroom classes.

  • https://www.googleapis.com/auth/classroom.coursework.students — Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer.

  • https://www.googleapis.com/auth/classroom.coursework.me — Manage your course work and view your grades in Google Classroom.

  • https://www.googleapis.com/auth/classroom.student-submissions.students.readonly — View course work and grades for students in the Google Classroom classes you teach or administer.

  • https://www.googleapis.com/auth/classroom.guardians — View and manage guardians for students in your Google Classroom classes.

  • https://www.googleapis.com/auth/classroom.profile.emails — View the email addresses of people in your Google Classroom classes.

  • https://www.googleapis.com/auth/classroom.profile.photos — View the profile photos of people in your Google Classroom classes.

The exact set of scopes requested during authorization depends on the data flows you configure in Nexla. You must approve the requested scopes for the connector to function properly. Access granted through this OAuth flow can be revoked at any time from your Google Account permissions page.

Google Cloud Console Setup (for Custom OAuth Applications)

If your organization requires using a custom OAuth application rather than Nexla's default OAuth credentials, a Google Cloud project with the Classroom API enabled is required. To set this up:

  1. Sign in to the Google Cloud Console and create or select a project.

  2. Navigate to APIs & Services > Library and search for "Google Classroom API." Click Enable to activate the API for your project.

  3. Navigate to APIs & Services > OAuth consent screen. Select External (or Internal for Google Workspace organizations) and complete the consent screen configuration, including the application name, support email, and authorized domains.

  4. Add the required Classroom API scopes to the consent screen by clicking Add or Remove Scopes and searching for the scopes listed in the Required OAuth Scopes section above.

  5. Navigate to APIs & Services > Credentials > Create Credentials > OAuth client ID. Select Web application as the application type, enter a name, and add the Nexla redirect URI as an authorized redirect URI.

  6. After creating the credentials, copy the Client ID and Client Secret values. These will be needed when configuring the credential in Nexla.

For most users connecting to Google Classroom through Nexla, the default OAuth application is already configured and no Google Cloud Console setup is required. The steps above are only necessary if your organization's policy requires a custom OAuth application. For additional information about setting up OAuth 2.0 credentials, refer to the Google OAuth 2.0 documentation.

Create a Google Classroom API Credential

  • To create a new Google Classroom API credential, after selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

Credential Name & Description

  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Resource descriptions are recommended but are not required. They should be used to provide information about the resource purpose, data freshness, etc. that can help the owner and other users efficiently understand and utilize the resource.

Authorize with Google

  1. Click the Authorize button to initiate the OAuth 2.0 authorization flow. A new browser window will open, directing you to the Google sign-in page.

  2. Sign in with the Google account that has access to the Google Classroom environment you want to connect. If you are already signed in, select the appropriate account from the list.

  3. Review the permissions that Nexla is requesting for access to your Google Classroom data, and click Allow to grant access. Google will redirect you back to Nexla once authorization is complete.

    The OAuth authorization flow is managed entirely by Google. Nexla does not have access to your Google account password. The authorization grants Nexla a secure token that allows it to access Google Classroom data on your behalf, and this access can be revoked at any time from your Google Account permissions page.

Save the Credential

  1. Once all of the relevant steps in the above sections have been completed, click the Save button at the bottom of the overlay to save the configured credential.

  2. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.