名称: ez-google
描述: 当用户要求发送邮件、检查收件箱、阅读邮件、查看日历、安排会议、创建活动、搜索 Google 云端硬盘、创建 Google 文档、读取或编辑电子表格、查找联系人,或任何涉及 Gmail、Google 日历、Drive、Docs、Sheets、Slides 或 Contacts 的任务时使用。对 Agent 友好,提供托管的 OAuth 授权,无需 API 密钥。
元数据: {"openclaw":{"emoji":"📧"}}
对 Agent 友好的 Google Workspace 工具集。简单的 CLI 脚本配合托管的 OAuth 授权——用户只需点击链接并粘贴回令牌即可。无需 API 密钥或凭证。
所有命令运行方式: uv run scripts/<脚本名>.py <命令> [参数]
auth.py status # 检查状态:AUTHENTICATED(已认证)或 NOT_AUTHENTICATED(未认证)
auth.py login # 获取授权 URL → 发送给用户
auth.py save '<TOKEN>' # 保存从托管 OAuth 获取的令牌
授权流程: status → 如果未认证 → login → 用户点击链接,复制令牌 → save '<TOKEN>'
gmail.py list [-n 10] [-q "查询词"] # 列出邮件
gmail.py search "查询词" # 搜索邮件
gmail.py get 邮件ID # 阅读邮件
gmail.py send "收件人" "主题" "正文" # 发送邮件
gmail.py draft "收件人" "主题" "正文" # 创建草稿
gmail.py labels # 列出标签
# 批量操作(每次 API 调用最多处理 1000 条消息)
gmail.py bulk-label "查询词" --add 标签 --remove 标签 # 添加/移除标签
gmail.py bulk-trash "查询词" [-y] # 移至垃圾箱(使用 -y 跳过确认)
批量操作示例:
gmail.py bulk-label "from:newsletter@example.com" --add ARCHIVE --remove INBOX
gmail.py bulk-trash "subject:alert older_than:30d" -y
gmail.py bulk-label "category:promotions" --add Label_3 # 使用 `labels` 命令获取的标签 ID
gcal.py list [日期] # 列出活动(日期格式:YYYY-MM-DD 或 "today")
gcal.py create "标题" "开始时间" "结束时间" # 创建活动(开始/结束时间格式:YYYY-MM-DDTHH:MM)
gcal.py get 活动ID # 查看活动详情
gcal.py delete 活动ID # 删除活动
gcal.py calendars # 列出日历
drive.py list [-n 20] # 列出文件
drive.py search "查询词" # 按名称搜索
drive.py get 文件ID # 获取文件元数据
drive.py download 文件ID # 下载文件内容
drive.py create-folder "文件夹名" # 创建文件夹
docs.py create "标题" # 创建文档
docs.py get 文档ID # 读取内容
docs.py find "查询词" # 按标题查找
docs.py append 文档ID "文本" # 追加文本
docs.py insert 文档ID "文本" # 在开头插入文本
docs.py replace 文档ID "旧文本" "新文本" # 替换文本
sheets.py create "标题" # 创建电子表格
sheets.py get 表格ID "工作表!A1:D10" # 读取数据
sheets.py info 表格ID # 获取表格元数据
sheets.py find "查询词" # 按名称查找
sheets.py write 表格ID "工作表!A1" "a,b;c,d" # 写入数据(行用 ; 分隔)
sheets.py append 表格ID "工作表!A:B" "a,b;c,d" # 追加行
slides.py find "查询词" # 查找演示文稿
slides.py get 演示文稿ID # 获取幻灯片信息
slides.py text 演示文稿ID # 提取所有文本
slides.py create "标题" # 创建演示文稿
people.py me # 当前用户个人资料
people.py contacts [-n 100] # 列出联系人
people.py search "姓名" # 搜索联系人
people.py get 联系人ID # 联系人详情
chat.py spaces # 列出空间
chat.py messages 空间ID [-n 20] # 列出消息
chat.py send 空间ID "文本" # 发送消息
chat.py get 空间ID # 空间详情
注意:添加新服务后,请运行 auth.py logout 然后再次运行 login 以授予新的权限。