Join video meetings as a voice bot, visual avatar, or avatar with live screen sharing.
Memory
Google Drive
Try itUnified 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
- Sign in at maton.ai
- Go to maton.ai/settings
- 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 parentstrashed = falsemodifiedTime > '2024-01-01T00:00:00'
Combine with and:
name contains 'report' and mimeType = 'application/pdf'
Common MIME Types
application/vnd.google-apps.document- Google Docsapplication/vnd.google-apps.spreadsheet- Google Sheetsapplication/vnd.google-apps.presentation- Google Slidesapplication/vnd.google-apps.folder- Folderapplication/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
fieldsparameter to limit response data - Pagination uses
pageTokenfrom previous response'snextPageToken - Export is for Google Workspace files only
Error Handling
| Status | Meaning |
|---|---|
| 400 | Missing Google Drive connection |
| 401 | Invalid or missing Maton API key |
| 429 | Rate limited (10 req/sec per account) |
| 4xx/5xx | Passthrough 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
Read, create, edit, and fix .xlsx, .csv, and .tsv files with formulas, formatting, and cleaned data.
Sets up a browser automation CLI with reusable command memory for recurring web tasks.
Operate TaskTime Pro through MCP: manage tasks, track time, handle expenses, and prepare invoices from a paired browser session.
Access ~12.4M US business registrations — LLCs, corps, formation dates, registered agents — free from 5 state open-data portals.
Prioritize growth directions with a 2×2 risk framework — pick one bet and commit.
More from byungkyu
Browse all skillsCloud-based Blender: render 3D models, generate turntable videos, and convert file formats without local installs.
Extract text, structured entities, and metadata from any PDF, image, or scanned document.
Generate install-ready Minecraft Bedrock add-ons, skin packs, Fabric and NeoForge mods with runtime verification and visual proof.
Search a global news database of 1M+ weekly articles with boolean operators and category filters.
Turn any audio recording into searchable text with speaker labels
Connect to Gmail to send, read, search, and manage emails including labels, drafts, and attachments.