Google Drive
Ingests files and folders from My Drive and Shared Drives (formerly Team Drives), using Google's change-token APIs for incremental sync.
variant=info text="Cloud storage" variant=success text="OAuth" variant=success text="Maps ACLs"
What gets ingested
| Element | Mapped to |
|---|---|
| Drive files (Docs, Sheets, Slides, PDFs, etc.) | _FileEntry + _Blob (native Google file types are exported to PDF/DOCX/XLSX as appropriate) |
| Folders | _Folder, linked via _HasChild |
| Shared Drives | A top-level _Folder per shared drive |
| File metadata (id, MIME, modified, owners) | Properties on _FileEntry |
| Per-file sharing permissions | Mapped onto _AccessGroup membership |
Authentication
- Type: OAuth 2.0 (per-user).
- Requested scopes:
https://www.googleapis.com/auth/drive.readonly,https://www.googleapis.com/auth/drive.metadata.readonly.
Access control mapping
| Source | Carried into the graph? |
|---|---|
| Per-user Drive access | Yes — each connected user has their own access group. |
File permissions[] (writer / reader / owner) |
Yes — mapped via AddPermissionToItem. |
| Shared Drive membership | Yes — separate access groups per drive. |
| "Anyone with the link" | Yes — maps to _AccessGroup.Public. |
Sync cadence
- Default cron: every 15 minutes.
- Incremental sync: Drive change tokens (
changes.startPageToken→changes.list). Tracked separately for My Drive and each Shared Drive.
Notable
- Google native file types (Docs / Sheets / Slides) are exported on-the-fly to PDF / XLSX / PPTX so they can be parsed in the workspace.
- The connector calls Drive's
about.getonce per run to confirm storage quota is sufficient before downloading large files.