Memory

Google Drive

Try it

Unified Google Drive API access with managed OAuth — search, upload, download, organize, and share files.

What it does

This skill wraps the Google Drive API v3 behind a managed gateway, handling OAuth on your behalf. Agents can list and search files by name, MIME type, or folder; download file content; export Google Docs (Docs, Sheets, Slides) to formats like PDF; create and rename files and folders; move, copy, and delete files; and apply sharing permissions (reader, writer) to individual users by email. The gateway automatically injects your OAuth token on every request.

When to use it

  • Find a specific file or all PDFs in a folder without browsing the UI
  • Download a Drive file to process its content in a workflow
  • Create a folder structure and organize files across directories
  • Export a Google Sheet to PDF and send it to a collaborator

The skill document

Google Drive

Access the Google Drive API with managed OAuth authentication. List, search, create, and manage files and folders.

Quick Start

# List files
curl -s -X GET 'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Base URL

https://gateway.maton.ai/google-drive/drive/v3/{endpoint}

The gateway proxies requests to www.googleapis.com and automatically injects your OAuth token.

Authentication

All requests require the Maton API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Environment Variable: Set your API key as MATON_API_KEY:

export MATON_API_KEY="YOUR_API_KEY"

Getting Your API Key

  1. Sign in at maton.ai
  2. Go to maton.ai/settings
  3. Copy your API key

Connection Management

Manage your Google OAuth connections at https://ctrl.maton.ai.

List Connections

curl -s -X GET 'https://ctrl.maton.ai/connections?app=google-drive&status=ACTIVE' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Create Connection

curl -s -X POST 'https://ctrl.maton.ai/connections' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"app": "google-drive"}'

Get Connection

curl -s -X GET 'https://ctrl.maton.ai/connections/{connection_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response:

{
  "connection": {
    "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
    "status": "ACTIVE",
    "url": "https://connect.maton.ai/?session_token=...",
    "app": "google-drive"
  }
}

Open the returned url in a browser to complete OAuth authorization.

Delete Connection

curl -s -X DELETE 'https://ctrl.maton.ai/connections/{connection_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'

API Reference

List Files

GET /google-drive/drive/v3/files?pageSize=10

With query:

GET /google-drive/drive/v3/files?q=name%20contains%20'report'&pageSize=10

Only folders:

GET /google-drive/drive/v3/files?q=mimeType='application/vnd.google-apps.folder'

Files in specific folder:

GET /google-drive/drive/v3/files?q='FOLDER_ID'+in+parents

With fields:

GET /google-drive/drive/v3/files?fields=files(id,name,mimeType,createdTime,modifiedTime,size)

Get File Metadata

GET /google-drive/drive/v3/files/{fileId}?fields=id,name,mimeType,size,createdTime

Download File Content

GET /google-drive/drive/v3/files/{fileId}?alt=media

Export Google Docs

GET /google-drive/drive/v3/files/{fileId}/export?mimeType=application/pdf

Create File (metadata only)

POST /google-drive/drive/v3/files
Content-Type: application/json

{
  "name": "New Document",
  "mimeType": "application/vnd.google-apps.document"
}

Create Folder

POST /google-drive/drive/v3/files
Content-Type: application/json

{
  "name": "New Folder",
  "mimeType": "application/vnd.google-apps.folder"
}

Update File Metadata

PATCH /google-drive/drive/v3/files/{fileId}
Content-Type: application/json

{
  "name": "Renamed File"
}

Move File to Folder

PATCH /google-drive/drive/v3/files/{fileId}?addParents=NEW_FOLDER_ID&removeParents=OLD_FOLDER_ID

Delete File

DELETE /google-drive/drive/v3/files/{fileId}

Copy File

POST /google-drive/drive/v3/files/{fileId}/copy
Content-Type: application/json

{
  "name": "Copy of File"
}

Share File

POST /google-drive/drive/v3/files/{fileId}/permissions
Content-Type: application/json

{
  "role": "reader",
  "type": "user",
  "emailAddress": "user@example.com"
}

Query Operators

Use in the q parameter:

  • name = 'exact name'
  • name contains 'partial'
  • mimeType = 'application/pdf'
  • 'folderId' in parents
  • trashed = false
  • modifiedTime > '2024-01-01T00:00:00'

Combine with and:

name contains 'report' and mimeType = 'application/pdf'

Common MIME Types

  • application/vnd.google-apps.document - Google Docs
  • application/vnd.google-apps.spreadsheet - Google Sheets
  • application/vnd.google-apps.presentation - Google Slides
  • application/vnd.google-apps.folder - Folder
  • application/pdf - PDF

Code Examples

JavaScript

const response = await fetch(
  'https://gateway.maton.ai/google-drive/drive/v3/files?pageSize=10',
  {
    headers: {
      'Authorization': `Bearer ${process.env.MATON_API_KEY}`
    }
  }
);

Python

import os
import requests

response = requests.get(
    'https://gateway.maton.ai/google-drive/drive/v3/files',
    headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
    params={'pageSize': 10}
)

Notes

  • Use fields parameter to limit response data
  • Pagination uses pageToken from previous response's nextPageToken
  • Export is for Google Workspace files only

Error Handling

StatusMeaning
400Missing Google Drive connection
401Invalid or missing Maton API key
429Rate limited (10 req/sec per account)
4xx/5xxPassthrough error from Google Drive API

Resources

Questions people ask

How does authentication work?
You create a Google OAuth connection once via the control endpoint. The gateway stores and injects your token on every request, so no manual token handling is needed in your code.
What file formats can be exported?
Export is supported for Google Workspace files (Docs, Sheets, Slides) to formats such as PDF. Standard files (PDFs, images, etc.) are downloaded directly without conversion.
Can I search files by content, not just name?
The Drive API supports name-based and MIME-type queries with operators like 'contains', '=', and date comparisons. Full-text content search requires Google Workspace-specific indexing, which depends on your Drive configuration.

Related skills

Join video meetings as a voice bot, visual avatar, or avatar with live screen sharing.

by johnpatternai22 installs8 stars

Read, create, edit, and fix .xlsx, .csv, and .tsv files with formulas, formatting, and cleaned data.

by Lisz1123 installs

Operate TaskTime Pro through MCP: manage tasks, track time, handle expenses, and prepare invoices from a paired browser session.

by tasktimepro1 installs1 stars

Access ~12.4M US business registrations — LLCs, corps, formation dates, registered agents — free from 5 state open-data portals.

by deciqai1 installs3 stars

Prioritize growth directions with a 2×2 risk framework — pick one bet and commit.

by deciqai2 installs2 stars

More from byungkyu

Browse all skills

Cloud-based Blender: render 3D models, generate turntable videos, and convert file formats without local installs.

by agentpmt3 installs

Extract text, structured entities, and metadata from any PDF, image, or scanned document.

by agentpmt3 installs

Generate install-ready Minecraft Bedrock add-ons, skin packs, Fabric and NeoForge mods with runtime verification and visual proof.

by agentpmt2 installs

Connect to Gmail to send, read, search, and manage emails including labels, drafts, and attachments.

by agentpmt1 installs