Gmail
2026-03-24
新闻来源:网淘吧
围观:39
电脑广告
手机广告
购买adidas上京东官方旗舰店。
Gmail
通过托管的 OAuth 认证访问 Gmail API。读取、发送和管理邮件、会话、标签和草稿。
快速开始
# 列出邮件
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages?maxResults=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
基础 URL
https://gateway.maton.ai/google-mail/{原生-api-路径}
替换{原生-api-路径}为实际的 Gmail API 端点路径。网关将请求代理到gmail.googleapis.com并自动注入您的 OAuth 令牌。
认证
所有请求都需要在 Authorization 头部中包含 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的 API 密钥设置为MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的 API 密钥
- 请登录或在以下网址创建账户maton.ai
- 前往maton.ai/settings
- 复制您的 API 密钥
连接管理
在以下地址管理您的 Google OAuth 连接https://ctrl.maton.ai。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=google-mail&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
创建连接
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'google-mail'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
获取连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
{
"connection": {
"connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "google-mail",
"metadata": {}
}
}
在浏览器中打开返回的url以完成 OAuth 授权。
删除连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
指定连接
如果您有多个Gmail连接,请使用Maton-Connection标头指定要使用哪一个:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略此标头,网关将使用默认(最早创建的)活动连接。
API参考
列出邮件
GET /google-mail/gmail/v1/users/me/messages?maxResults=10
带查询过滤器:
GET /google-mail/gmail/v1/users/me/messages?q=is:unread&maxResults=10
获取邮件
GET /google-mail/gmail/v1/users/me/messages/{messageId}
仅获取元数据:
GET /google-mail/gmail/v1/users/me/messages/{messageId}?format=metadata&metadataHeaders=From&metadataHeaders=Subject&metadataHeaders=Date
发送邮件
POST /google-mail/gmail/v1/users/me/messages/send
Content-Type: application/json
{
"raw": "BASE64_ENCODED_EMAIL"
}
列出标签
GET /google-mail/gmail/v1/users/me/labels
列出会话
GET /google-mail/gmail/v1/users/me/threads?maxResults=10
获取邮件会话
GET /google-mail/gmail/v1/users/me/threads/{threadId}
修改邮件标签
POST /google-mail/gmail/v1/users/me/messages/{messageId}/modify
Content-Type: application/json
{
"addLabelIds": ["STARRED"],
"removeLabelIds": ["UNREAD"]
}
移至垃圾邮件
POST /google-mail/gmail/v1/users/me/messages/{messageId}/trash
创建草稿
POST /google-mail/gmail/v1/users/me/drafts
Content-Type: application/json
{
"message": {
"raw": "BASE64URL_ENCODED_EMAIL"
}
}
发送草稿
POST /google-mail/gmail/v1/users/me/drafts/send
Content-Type: application/json
{
"id": "{draftId}"
}
获取个人资料
GET /google-mail/gmail/v1/users/me/profile
查询操作符
在q参数中使用:
is:unread- 未读邮件is:starred- 已加星标邮件from:email@example.com- 来自特定发件人发件人:email@example.com- 发送给特定收件人主题:关键词- 主题包含关键词时间晚于:2024/01/01- 在指定日期之后时间早于:2024/12/31- 在指定日期之前包含:附件- 包含附件
代码示例
JavaScript
const response = await fetch(
'https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages?maxResults=10',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
Python
import os
import requests
response = requests.get(
'https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'maxResults': 10, 'q': 'is:unread'}
)
注意事项
- 使用
me作为已认证用户的userId - 邮件正文以base64url编码格式存储于
原始字段 - 常用标签:
收件箱,已发送,草稿,星标,未读,垃圾箱 - 重要提示:使用 curl 命令时,如果 URL 包含括号(
curl -g当 URL 包含括号(字段[],排序[],records[]) 以禁用通配符解析 - 重要提示:当通过管道将 curl 输出传递给
jq或其他命令时,在某些 shell 环境中,像$MATON_API_KEY这样的环境变量可能无法正确展开。通过管道传递时,您可能会收到"无效的 API 密钥"错误。
错误处理
| 状态码 | 含义 |
|---|---|
| 400 | 缺少 Gmail 连接 |
| 401 | 无效或缺少 Maton API 密钥 |
| 429 | 请求频率受限(每个账户每秒 10 次请求) |
| 4xx/5xx | 来自 Gmail API 的透传错误 |
故障排除:API 密钥问题
- 请检查
MATON_API_KEY环境变量已设置:
echo $MATON_API_KEY
- 通过列出连接来验证API密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
故障排除:应用名称无效
- 确保您的URL路径以
google-mail开头。例如:
- 正确示例:
https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages - 错误示例:
https://gateway.maton.ai/gmail/v1/users/me/messages
资源
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Markdown Converter
下一篇:Browser Automation


微信扫一扫,打赏作者吧~