google-workspace
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGoogle Workspace Integration
Google Workspace 集成
Gmail and Google Calendar access via shared OAuth 2.0 authentication.
通过共享OAuth 2.0认证访问Gmail和Google Calendar。
Prerequisites
前提条件
- Python 3.10+ available
- Google Cloud project with Gmail API and Calendar API enabled
- OAuth 2.0 credentials () downloaded
credentials.json - Required packages: ,
google-api-python-client,google-auth-httplib2google-auth-oauthlib
- 已安装Python 3.10及以上版本
- 已启用Gmail API和Calendar API的Google Cloud项目
- 已下载OAuth 2.0凭据文件()
credentials.json - 所需依赖包:、
google-api-python-client、google-auth-httplib2google-auth-oauthlib
OAuth Setup
OAuth 配置
Step 1: Create Google Cloud Project
步骤1:创建Google Cloud项目
- Go to https://console.cloud.google.com/
- Create a new project or select existing
- Navigate to APIs & Services → Library
- Enable both Gmail API and Google Calendar API
- 访问https://console.cloud.google.com/
- 创建新项目或选择现有项目
- 进入APIs & Services → Library
- 启用Gmail API和Google Calendar API
Step 2: Configure OAuth Consent Screen
步骤2:配置OAuth同意屏幕
- Go to APIs & Services → OAuth consent screen
- Select External user type
- Add scopes:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
- Add user's email as a test user
- 进入APIs & Services → OAuth consent screen
- 选择External用户类型
- 添加以下权限范围:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
- 添加用户邮箱作为测试用户
Step 3: Create OAuth Credentials
步骤3:创建OAuth凭据
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client ID
- Select Desktop app as application type
- Download JSON and rename to
credentials.json
- 进入APIs & Services → Credentials
- 点击Create Credentials → OAuth client ID
- 选择Desktop app作为应用类型
- 下载JSON文件并重命名为
credentials.json
Step 4: Install Dependencies
步骤4:安装依赖
bash
uv add google-api-python-client google-auth-httplib2 google-auth-oauthlibbash
uv add google-api-python-client google-auth-httplib2 google-auth-oauthlibStep 5: First Authentication
步骤5:首次认证
Run any script - it will open a browser for OAuth consent. A is saved for future use.
token.json运行任意脚本 - 会打开浏览器进行OAuth授权。授权后会生成文件,供后续使用。
token.jsonGmail Operations
Gmail 操作
Search Emails
搜索邮件
bash
uv run python tools/google-workspace/scripts/search_emails.py "from:someone@example.com" --credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/search_emails.py "from:someone@example.com" --credentials ./credentials.jsonRead Email Content
读取邮件内容
bash
uv run python tools/google-workspace/scripts/read_email.py <message_id> --credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/read_email.py <message_id> --credentials ./credentials.jsonCreate Draft
创建草稿
bash
uv run python tools/google-workspace/scripts/create_draft.py \
--to "recipient@example.com" \
--subject "Subject line" \
--body "Email body" \
--credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/create_draft.py \
--to "recipient@example.com" \
--subject "Subject line" \
--body "Email body" \
--credentials ./credentials.jsonFind Emails Needing Reply
查找需要回复的邮件
bash
uv run python tools/google-workspace/scripts/needs_reply.py --credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/needs_reply.py --credentials ./credentials.jsonCalendar Operations
日历操作
List Calendars
列出日历
bash
uv run python tools/google-workspace/scripts/list_calendars.py --credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/list_calendars.py --credentials ./credentials.jsonSearch Events
搜索事件
bash
undefinedbash
undefinedSearch by text
按文本搜索
uv run python tools/google-workspace/scripts/search_events.py "meeting" --credentials ./credentials.json
uv run python tools/google-workspace/scripts/search_events.py "meeting" --credentials ./credentials.json
Search by date range
按日期范围搜索
uv run python tools/google-workspace/scripts/search_events.py --start "2024-01-15" --end "2024-01-20" --credentials ./credentials.json
undefineduv run python tools/google-workspace/scripts/search_events.py --start "2024-01-15" --end "2024-01-20" --credentials ./credentials.json
undefinedCheck Availability
查看空闲时间
bash
uv run python tools/google-workspace/scripts/find_busy.py \
--start "2024-01-15T09:00:00" \
--end "2024-01-15T17:00:00" \
--credentials ./credentials.jsonbash
uv run python tools/google-workspace/scripts/find_busy.py \
--start "2024-01-15T09:00:00" \
--end "2024-01-15T17:00:00" \
--credentials ./credentials.jsonCreate Event
创建事件
bash
uv run python tools/google-workspace/scripts/create_event.py \
--summary "Team Meeting" \
--start "2024-01-15T10:00:00" \
--end "2024-01-15T11:00:00" \
--attendees "alice@example.com,bob@example.com" \
--credentials ./credentials.jsonOptions: , , ,
--description--location--timezone--calendarbash
uv run python tools/google-workspace/scripts/create_event.py \
--summary "Team Meeting" \
--start "2024-01-15T10:00:00" \
--end "2024-01-15T11:00:00" \
--attendees "alice@example.com,bob@example.com" \
--credentials ./credentials.json可选参数: 、、、
--description--location--timezone--calendarScripts Reference
脚本参考
Gmail:
- - Gmail authentication utilities
gmail_auth.py - - Search inbox with Gmail query syntax
search_emails.py - - Read email content by message ID
read_email.py - - Create draft emails
create_draft.py - - Find emails awaiting response
needs_reply.py
Calendar:
- - Calendar authentication utilities
calendar_auth.py - - List accessible calendars
list_calendars.py - - Search events by text/date
search_events.py - - Check free/busy periods
find_busy.py - - Create calendar events
create_event.py
Gmail相关:
- - Gmail认证工具类
gmail_auth.py - - 使用Gmail查询语法搜索收件箱
search_emails.py - - 通过邮件ID读取邮件内容
read_email.py - - 创建邮件草稿
create_draft.py - - 查找待回复的邮件
needs_reply.py
日历相关:
- - 日历认证工具类
calendar_auth.py - - 列出可访问的日历
list_calendars.py - - 按文本/日期搜索事件
search_events.py - - 查看空闲/忙碌时段
find_busy.py - - 创建日历事件
create_event.py
Common Workflows
常见工作流
Schedule a Meeting
安排会议
- Search calendar for availability:
search_events.py --start ... --end ... - Create event:
create_event.py --summary "..." --start ... --end ...
- 搜索日历空闲时间:
search_events.py --start ... --end ... - 创建会议事件:
create_event.py --summary "..." --start ... --end ...
Reply to Important Emails
回复重要邮件
- Find emails needing reply:
needs_reply.py - Read specific email:
read_email.py <id> - Create draft response:
create_draft.py --to ... --subject "Re: ..."
- 查找待回复邮件:
needs_reply.py - 读取指定邮件:
read_email.py <id> - 创建回复草稿:
create_draft.py --to ... --subject "Re: ..."