Memory

Google Drive

Try it

Connect agents to Google Drive through managed OAuth for file and folder operations.

What it does

Routes Google Drive API requests through an authenticated gateway that automatically injects OAuth tokens. Supports listing, searching, retrieving metadata, downloading, creating, copying, moving, renaming, sharing, and deleting files and folders, plus exporting Google Workspace documents to formats like PDF. The connection lifecycle — create, list, get, delete — is managed through the Maton control plane.

When to use it

  • Listing and searching files in a Drive account
  • Creating folders or new file metadata entries
  • Exporting Google Docs or Sheets to PDF
  • Sharing files with specific users via permissions

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 is authentication handled?
A Maton API key is sent as a Bearer token to the gateway; Google OAuth is set up via the connections endpoint at ctrl.maton.ai, and the gateway injects tokens on every request.
What file operations are supported?
List, search, get metadata, download, export Workspace files, create file metadata, create folders, update metadata, move, copy, delete, and share through the permissions endpoint.
Are there usage limits?
Yes. The gateway is rate-limited to 10 requests per second per account, and 4xx/5xx responses are passed through unchanged from the underlying Google Drive API.

Related skills

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.

by byungkyu800 installs42 stars

Post videos, photos, text, and documents to 10 social platforms through a single REST API call.

by victorcavero14375 installs50 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván854 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván555 installs18 stars

More from byungkyu

Browse all skills

Manage Google Meet spaces, records, participants, recordings, and transcripts with managed OAuth.

by byungkyu

Read and write Google Sheets data with managed OAuth authentication through a single API gateway.

by byungkyu1 installs

Create and manage Google Slides presentations via the Slides API through a managed OAuth proxy.

by byungkyu1 installs

Read and write Zoho Books invoices, contacts, bills, and expenses through the Maton-managed OAuth API.

by agentpmt

Read, search, and edit your Google Contacts through the Google People API with managed OAuth.

by byungkyu

Search a global news database refreshed weekly with 1M+ articles, filtered by topic, country, language, and category.

by agentpmt8 installs