用途
gws-gmail-watch 是 gws(Google Workspace CLI)工具集中的一个技能命令,用于监控 Gmail 新邮件,并把它们以 NDJSON(每行一个 JSON 对象)的形式流式输出,便于管道处理或程序消费。
主要能力
- 监控新邮件并以 NDJSON 流式输出。
- 支持通过 GCP 项目创建或复用 Pub/Sub 资源(主题、订阅)。
- 支持按 Gmail 标签 ID 过滤(例如 INBOX,UNREAD)。
- 可配置每次拉取的最大邮件数(--max-messages,默认 10)与拉取间隔秒数(--poll-interval,默认 5)。
- 可选择 Gmail 邮件格式:full、metadata、minimal、raw(默认 full)。
- 支持只拉取一次即退出(--once)。
- 支持退出时删除创建的 Pub/Sub 资源(--cleanup)。
- 支持把每封邮件写入指定目录下的独立 JSON 文件(--output-dir)。
使用方式
前置条件:先阅读 ../gws-shared/SKILL.md 了解认证方式、全局标志与安全规则;如该文件缺失,运行 gws generate-skills 生成。
基本命令:gws gmail +watch
常用示例:
- gws gmail +watch --project my-gcp-project
- gws gmail +watch --project my-project --label-ids INBOX --once
- gws gmail +watch --subscription projects/p/subscriptions/my-sub
- gws gmail +watch --project my-project --cleanup --output-dir ./emails
参数说明:
- --project:用于 Pub/Sub 资源的 GCP 项目 ID。
- --subscription:已有 Pub/Sub 订阅名称(跳过创建步骤)。
- --topic:已有且已授予 Gmail 推送权限的 Pub/Sub 主题。
- --label-ids:以逗号分隔的 Gmail 标签 ID 过滤条件(如 INBOX,UNREAD)。
- --max-messages:每次拉取批次的邮件上限,默认 10。
- --poll-interval:两次拉取之间的间隔秒数,默认 5。
- --msg-format:Gmail 邮件格式,可选 full、metadata、minimal、raw,默认 full。
- --once:只拉取一次后退出。
- --cleanup:退出时删除所创建的 Pub/Sub 资源。
- --output-dir:把每封邮件写入该目录下的独立 JSON 文件。
使用提示
- Gmail watch 会在 7 天后过期,需要重新运行以续期。
- 不使用 --cleanup 时,Pub/Sub 资源会保留,便于重新连接。
- 可按 Ctrl-C 优雅停止。
相关命令
- gws-shared:全局标志与认证。
- gws-gmail:所有发送、读取与管理邮件的命令。
限制
资料未提供支持的平台、收费与价格、性能指标及除上述参数外的其他能力,均暂未提供。