← 返回
未分类 Key 中文

GOG Extended

Extended Google Workspace CLI reference for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Includes complete email body retrieval, attachments, and adva...
扩展的 Google Workspace CLI 参考,用于 Gmail、日历、云端硬盘、联系人、表格和文档。包括完整的邮件正文检索、附件及高级功能。
ethanyanjiali ethanyanjiali 来源
未分类 clawhub v2.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 393
下载
💾 1
安装
1
版本
#automation#email#gmail#google#latest

概述

gog-extended

Complete reference for the gog CLI with focus on advanced Gmail operations (full email bodies, attachments, complex searches).

Setup (one-time)

gog auth credentials /path/to/client_secret.json
gog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
gog auth list

Gmail Operations

Search & Browse

  • Search threads (one row per thread):

```bash

gog gmail search 'newer_than:7d' --max 10

gog gmail search 'from:sender@example.com' --max 20

```

  • Search individual messages (ignores threading, returns all matches):

```bash

gog gmail messages search "in:inbox from:ryanair.com" --max 20 --account you@example.com

gog gmail messages search 'subject:invoice' --max 50

```

Read Full Email Content (Critical for Automation)

This is the key difference from basic search — retrieve the complete email body, headers, and content:

# Full email with HTML body (recommended for parsing and automation)
gog gmail get <messageId> --format=full --account you@example.com

# Metadata only (faster, no body)
gog gmail get <messageId> --format=metadata --account you@example.com

# Raw RFC 2822 format (MIME encoded)
gog gmail get <messageId> --format=raw --account you@example.com

Recommendation: Use --format=full (default) which returns HTML-formatted email bodies. HTML preserves structure, links, and formatting better than raw RFC 2822, making it easier to parse and extract data programmatically.

Example workflow (extracting order details from email):

# 1. Find the message
gog gmail messages search 'from:order@example.com subject:confirmation' --max 1 --account you@example.com

# 2. Extract the message ID from results
# 3. Read full content (returns HTML body for easy parsing)
gog gmail get <messageId> --format=full --account you@example.com

# 4. Parse HTML for data (grep, sed, or HTML parser)
gog gmail get <messageId> --format=full --account you@example.com | grep -i "order\|price\|quantity"

The HTML format makes it easier to identify structure (tables, divs, links) and extract data without dealing with raw MIME encoding.

Download Attachments

gog gmail attachment <messageId> <attachmentId>

Get attachment IDs from gog gmail get --format=full output.

Send Emails

  • Plain text:

```bash

gog gmail send --to a@b.com --subject "Hi" --body "Hello"

```

  • Multi-line (via file):

```bash

gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt

```

  • Multi-line (via stdin):

```bash

gog gmail send --to a@b.com --subject "Hi" --body-file - <<'EOF'

Hi there,

This is a test.

Cheers

EOF

```

  • HTML:

```bash

gog gmail send --to a@b.com --subject "Hi" --body-html "

Hello

"

```

Drafts

gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txt
gog gmail drafts send <draftId>

Reply to Messages

gog gmail send --to a@b.com --subject "Re: Hi" --body "Reply" --reply-to-message-id <msgId>

Gmail History (Last Changes)

gog gmail history --max 100

Gmail URL Links

gog gmail url <threadId> ...

Prints direct Gmail web URLs.

Calendar Operations

List Events

gog calendar events <calendarId> --from 2026-01-01T00:00:00Z --to 2026-12-31T23:59:59Z

Create Event

gog calendar create <calendarId> --summary "Meeting" --from 2026-03-30T10:00:00Z --to 2026-03-30T11:00:00Z

With color (IDs 1–11):

gog calendar create <calendarId> --summary "Important" --from 2026-03-30T10:00:00Z --to 2026-03-30T11:00:00Z --event-color 4

Update Event

gog calendar update <calendarId> <eventId> --summary "New Title" --event-color 7

View Color Palette

gog calendar colors

Color IDs:

  • 1: #a4bdfc (blue)
  • 2: #7ae7bf (teal)
  • 3: #dbadff (purple)
  • 4: #ff887c (red)
  • 5: #fbd75b (yellow)
  • 6: #ffb878 (orange)
  • 7: #46d6db (cyan)
  • 8: #e1e1e1 (gray)
  • 9: #5484ed (dark blue)
  • 10: #51b749 (green)
  • 11: #dc2127 (dark red)

Drive Operations

gog drive search "filename:report.pdf" --max 10
gog drive search "in:starred" --max 20

Contacts

gog contacts list --max 20
gog contacts list --max 50 --json

Sheets

Read Data

gog sheets get <sheetId> "Tab!A1:D10" --json
gog sheets metadata <sheetId> --json

Update Data

gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED

Append Data

gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS

Clear Data

gog sheets clear <sheetId> "Tab!A2:Z"

Docs

Export

gog docs export <docId> --format txt --out /tmp/doc.txt
gog docs export <docId> --format pdf --out /tmp/doc.pdf

Read (cat)

gog docs cat <docId>

Advanced Flags

Common Flags

  • --account you@gmail.com — Target specific account (required when multiple accounts configured)
  • --json — Output JSON (best for scripting)
  • --plain — Stable TSV format (no colors)
  • --dry-run — Preview changes without executing
  • --force — Skip confirmations
  • --no-input — Never prompt (useful for CI/automation)
  • --verbose — Enable verbose logging

Environment Variable

Avoid repeating --account by setting:

export GOG_ACCOUNT=you@gmail.com

Then:

gog gmail search 'newer_than:7d'  # Uses GOG_ACCOUNT automatically

Gmail Query Syntax

Powerful search operators for gog gmail search and gog gmail messages search:

  • newer_than:7d — Last 7 days
  • before:2026-03-30 — Before date
  • after:2026-03-20 — After date
  • from:sender@example.com — From specific sender
  • to:recipient@example.com — To specific recipient
  • subject:keywords — Subject contains
  • in:inbox — In inbox (also: sent, draft, starred, important)
  • is:unread — Unread messages
  • has:attachment — Has attachment
  • filename:document.pdf — Attachment name
  • label:custom_label — Custom labels

Complex queries:

gog gmail search 'from:billing@example.com subject:invoice after:2026-03-01'
gog gmail search 'in:inbox is:unread has:attachment'

Notes

  • Search vs Messages: gog gmail search returns one row per thread; use gog gmail messages search when you need every individual email.
  • Multi-account: When multiple accounts are configured, always specify --account email@domain.com.
  • Token efficiency: For scripting, use --json output and parse programmatically.
  • Email body extraction: Use gog gmail get --format=full to retrieve complete email content (critical for automation like order tracking, invoice extraction, etc.).
  • Docs are read-only in gog: In-place edits require a separate Docs API client; gog supports export and read-only operations.

版本历史

共 1 个版本

  • v2.1.0 当前
    2026-05-03 07:38 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 42,216
dev-programming

Docker Essentials

arnarsson
核心 Docker 命令和工作流程,包括容器管理、镜像操作和调试。
★ 39 📥 32,748
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 688 📥 331,748