Skip to content

Google: OAuth2 generic#

This document contains instructions for creating a generic OAuth2 Google credential for use with custom operations.

Prerequisites#

Set up OAuth#

There are five steps to connecting your Easexpense credential to Google services:

  1. Create a Google Cloud Console project.
  2. Enable APIs.
  3. Configure your OAuth consent screen.
  4. Create your Google OAuth client credentials.
  5. Finish your Easexpense credential.

Create a Google Cloud Console project#

First, create a Google Cloud Console project. If you already have a project, jump to the next section:

Enable APIs#

With your project created, enable the APIs you'll need access to:

If you haven't used OAuth in your Google Cloud project before, you'll need to configure the OAuth consent screen:

  1. Access your Google Cloud Console - Library. Make sure you're in the correct project.
  2. Open the left navigation menu and go to APIs & Services > OAuth consent screen.
  3. Select Get started to begin configuring OAuth consent.
  4. Enter an App name and User support email to include on the Oauth screen.
  5. For the Audience, select Internal for user access within your organization's Google workspace or External for any user with a Google account. Refer to Google's User type documentation for more information on user types.
  6. Select the Email addresses Google should use to contact you about changes to your project.
  7. Read and accept the Google's User Data Policy and select Create.
  8. In the left-hand menu, select Branding.
  9. In the Authorized domains section, select Add domain:
    • Add easexpense.com
  10. Select Save at the bottom of the page.

Create your Google OAuth client credentials#

Next, create the OAuth client credentials in Google:

  1. In the APIs & Services section, select Credentials.
  2. Select + Create credentials > OAuth client ID.
  3. In the Application type dropdown, select Web application.
  4. Google automatically generates a Name. Update the Name to something you'll recognize in your console.
  5. From your Easexpense credential, copy the OAuth Redirect URL. Paste it into the Authorized redirect URIs in Google Console.
  6. Select Create.

Finish your Easexpense credential#

With the Google project and credentials fully configured, finish the Easexpense credential:

  1. From Google's OAuth client created modal, copy the Client ID. Enter this in your Easexpense credential.
  2. From the same Google modal, copy the Client Secret. Enter this in your Easexpense credential.
  3. You must provide the scopes for this credential. Refer to Scopes for more information. Enter multiple scopes in a space-separated list, for example:
    1
    https://www.googleapis.com/auth/gmail.labels https://www.googleapis.com/auth/gmail.addons.current.action.compose
    
  4. In Easexpense, select Save to complete your Google authentication & save your new credentials.

Video#

The following video demonstrates the steps described above:

Scopes#

Google services have one or more possible access scopes. A scope limits what a user can do. Refer to OAuth 2.0 Scopes for Google APIs for a list of scopes for all services.

Easexpense doesn't support all scopes. When creating a generic Google OAuth2 API credential, you can enter scopes from the Supported scopes list below. If you enter a scope that Easexpense doesn't already support, it won't work.

Supported scopes
Service Available scopes
Gmail
  • https://www.googleapis.com/auth/gmail.labels
  • https://www.googleapis.com/auth/gmail.addons.current.action.compose
  • https://www.googleapis.com/auth/gmail.addons.current.message.action
  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.compose
Google Ads
  • https://www.googleapis.com/auth/adwords
Google Analytics
  • https://www.googleapis.com/auth/analytics
  • https://www.googleapis.com/auth/analytics.readonly
Google BigQuery
  • https://www.googleapis.com/auth/bigquery
Google Books
  • https://www.googleapis.com/auth/books
Google Calendar
  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.events
Google Cloud
Natural Language
  • https://www.googleapis.com/auth/cloud-language
  • https://www.googleapis.com/auth/cloud-platform
Google Cloud
Storage
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only
  • https://www.googleapis.com/auth/devstorage.full_control
  • https://www.googleapis.com/auth/devstorage.read_only
  • https://www.googleapis.com/auth/devstorage.read_write
Google Contacts
  • https://www.googleapis.com/auth/contacts
Google Docs
  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
Google Drive
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.appdata
  • https://www.googleapis.com/auth/drive.photos.readonly
Google Firebase
Cloud Firestore
  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/firebase
Google Firebase
Realtime Database
  • https://www.googleapis.com/auth/userinfo.email
  • https://www.googleapis.com/auth/firebase.database
  • https://www.googleapis.com/auth/firebase
Google Perspective
  • https://www.googleapis.com/auth/userinfo.email
Google Sheets
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets
Google Slide
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/presentations
Google Tasks
  • https://www.googleapis.com/auth/tasks
Google Translate
  • https://www.googleapis.com/auth/cloud-translation
GSuite Admin
  • https://www.googleapis.com/auth/admin.directory.group
  • https://www.googleapis.com/auth/admin.directory.user
  • https://www.googleapis.com/auth/admin.directory.domain.readonly
  • https://www.googleapis.com/auth/admin.directory.userschema.readonly