Google Drive

Google Drive logo

Google Drive

Configuration

Google Drive source connector integrates with the Google Drive API to extract files.

Supports both personal Google Drive (My Drive) and shared drives.

It supports downloading and processing files while maintaining proper organization and access permissions.

Authentication

This connector uses OAuth 2.0 with custom credentials. You need to provide your OAuth application’s Client ID and Client Secret in the Airweave UI, then go through the OAuth consent screen.

OAuth Setup Required
  1. Create an OAuth application in your provider’s developer console
  2. Enter your Client ID and Client Secret in the Airweave UI
  3. Complete the OAuth consent flow when connecting the source

Configuration Options

This connector does not have any additional configuration options.

Data Models

The following data models are available for this connector:

Schema for a Drive resource (shared drive).

Reference: https://developers.google.com/drive/api/v3/reference/drives

FieldTypeDescription
drive_idstrUnique ID of the shared drive.
nameOptional[str]The name of this shared drive.
kindOptional[str]Identifies what kind of resource this is; typically “drive#drive”.
color_rgbOptional[str]The color of this shared drive as an RGB hex string.
created_timeOptional[datetime]When the shared drive was created (RFC 3339 date-time).
hiddenboolWhether the shared drive is hidden from default view.
org_unit_idOptional[str]The organizational unit of this shared drive, if applicable.

Schema for a File resource (in a user’s or shared drive).

Reference: https://developers.google.com/drive/api/v3/reference/files

FieldTypeDescription
file_idstrUnique ID of the file.
nameOptional[str]Name of the file.
mime_typeOptional[str]MIME type of the file.
descriptionOptional[str]Optional description of the file.
starredboolIndicates whether the user has starred the file.
trashedboolWhether the file is in the trash.
explicitly_trashedboolWhether the file was explicitly trashed by the user.
parentsList[str]IDs of the parent folders containing this file.
sharedboolWhether the file is shared.
web_view_linkOptional[str]Link for opening the file in a relevant Google editor or viewer.
icon_linkOptional[str]A static, far-reaching URL to the file’s icon.
created_timeOptional[datetime]When the file was created (RFC 3339 date-time).
modified_timeOptional[datetime]When the file was last modified (RFC 3339 date-time).
sizeOptional[int]The size of the file’s content in bytes.
md5_checksumOptional[str]MD5 checksum for the content of the file.

Integrate Airweave with Google APIs on localhost

This guide will walk you through connecting Google Workspace APIs to Airweave when running locally. Google provides extensive documentation on setting up your workspace. Below is a streamlined process for connecting Google APIs to Airweave.

  1. Create a Google Cloud project for your Google Workspace (if you don’t already have one)
  2. Enable the Google Workspace APIs for Gmail, Google Calendar, and Google Drive
  3. Configure Google OAuth 2.0 consent screen
  4. Under Audience, select Make external and add test users
  5. Under Data Access, add the following scopes:
https://www.googleapis.com/auth/docs
https://www.googleapis.com/auth/drive.photos.readonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.metadata
https://www.googleapis.com/auth/drive.metadata.readonly
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/calendar.events.public.readonly
https://www.googleapis.com/auth/calendar.freebusy
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.calendars.readonly
https://www.googleapis.com/auth/calendar.events.owned.readonly
https://www.googleapis.com/auth/calendar.events.readonly
  1. Create OAuth client ID credentials
  2. Under “Authorized redirect URIs,” click ”+ Add URI” and add the following URIs:
    http://localhost:8080/auth/callback/gmail
    http://localhost:8080/auth/callback/google_calendar
    http://localhost:8080/auth/callback/google_drive
  3. Locate the client ID and client secret from your newly created OAuth client. Add these credentials to the dev.integrations.yml file to enable Google API integration.