Zoom
Use scripts/zoom.py to interact with Zoom's REST API.
Prerequisites
CODEBLOCK0
Authentication
Set these in the skill's .env file (copy from .env.example):
- -
ZOOM_ACCOUNT_ID — Account ID (from Zoom Marketplace app) - INLINECODE4 — OAuth Client ID
- INLINECODE5 — OAuth Client Secret
- INLINECODE6 — Email of the Zoom user to act as (required for S2S apps; defaults to
me if unset) - INLINECODE8 — Client ID of the RTMS Marketplace app (required for
rtms-start/rtms-stop; this is a separate app from the S2S OAuth app)
Create a Server-to-Server OAuth app at https://marketplace.zoom.us/ for full API access.
See references/AUTH.md for detailed setup guide.
Commands
Meetings
CODEBLOCK1
Calendar (upcoming schedule)
CODEBLOCK2
Recordings
CODEBLOCK3
AI Meeting Summary (AI Companion)
CODEBLOCK4
Users
CODEBLOCK5
Team Chat
CODEBLOCK6
Phone (Zoom Phone)
CODEBLOCK7
Scopes Required
For Server-to-Server OAuth, enable these scopes in your Zoom Marketplace app.
Only add the scopes you need — each command group requires specific scopes:
| Command Group | Scopes Needed |
|---|
| INLINECODE11 / INLINECODE12 | INLINECODE13 |
| INLINECODE14 |
meeting:read:admin,
meeting:write:admin |
|
recordings list/get/delete |
recording:read:admin,
recording:write:admin |
|
chat channels/messages/send/dm |
chat_channel:read:admin,
chat_message:read:admin,
chat_message:write:admin |
|
chat contacts |
contact:read:admin |
|
summary list/get |
meeting_summary:read:admin |
|
phone calls |
phone:read:admin (requires Zoom Phone enabled on account) |
If you get a scope error, go to https://marketplace.zoom.us/ → your app → Scopes, and add the missing scope listed in the error message.
Rate Limits
Zoom API has rate limits (varies by endpoint, typically 30-100 req/sec). The script handles 429 responses with automatic retry.
Zoom
使用 scripts/zoom.py 与 Zoom 的 REST API 进行交互。
前置条件
bash
pip3 install requests PyJWT --break-system-packages
身份验证
在技能的 .env 文件中设置以下内容(从 .env.example 复制):
- - ZOOMACCOUNTID — 账户 ID(来自 Zoom Marketplace 应用)
- ZOOMCLIENTID — OAuth 客户端 ID
- ZOOMCLIENTSECRET — OAuth 客户端密钥
- ZOOMUSEREMAIL — 要操作的 Zoom 用户邮箱(S2S 应用必需;未设置时默认为 me)
- ZOOMRTMSCLIENT_ID — RTMS Marketplace 应用的客户端 ID(rtms-start/rtms-stop 命令必需;这是一个独立于 S2S OAuth 应用的应用)
在 https://marketplace.zoom.us/ 创建一个服务器到服务器 OAuth 应用以获取完整的 API 访问权限。
详细设置指南请参见 references/AUTH.md。
命令
会议
bash
列出即将召开的会议
python3 scripts/zoom.py meetings list
列出进行中的会议(需要 Business+ 套餐及 Dashboard 功能)
python3 scripts/zoom.py meetings live
为进行中的会议启动 RTMS(需要 ZOOMRTMSCLIENT_ID)
python3 scripts/zoom.py meetings rtms-start <会议ID>
停止进行中会议的 RTMS
python3 scripts/zoom.py meetings rtms-stop <会议ID>
获取会议详情
python3 scripts/zoom.py meetings get <会议ID>
安排新会议
python3 scripts/zoom.py meetings create --topic 站会 --start 2026-01-28T10:00:00 --duration 30
带选项安排会议
python3 scripts/zoom.py meetings create --topic 评审 --start 2026-01-28T14:00:00 --duration 60 --agenda Sprint 评审 --password abc123
删除会议
python3 scripts/zoom.py meetings delete <会议ID>
更新会议
python3 scripts/zoom.py meetings update <会议ID> --topic 新标题 --start 2026-01-29T10:00:00
日历(即将到来的日程)
bash
今日会议
python3 scripts/zoom.py meetings list --from today --to today
本周会议
python3 scripts/zoom.py meetings list --from today --days 7
录制
bash
列出云端录制
python3 scripts/zoom.py recordings list
列出指定日期范围的录制
python3 scripts/zoom.py recordings list --from 2026-01-01 --to 2026-01-31
获取录制详情
python3 scripts/zoom.py recordings get <会议ID>
下载录制文件(视频/音频)
python3 scripts/zoom.py recordings download <会议ID>
python3 scripts/zoom.py recordings download <会议ID> --output ~/Downloads
仅下载转录文件
python3 scripts/zoom.py recordings download-transcript <会议ID>
python3 scripts/zoom.py recordings download-transcript <会议ID> --output ~/Downloads
以 Markdown 格式下载 AI 助手摘要
python3 scripts/zoom.py recordings download-summary <会议UUID>
python3 scripts/zoom.py recordings download-summary <会议UUID> --output ~/Downloads
删除录制
python3 scripts/zoom.py recordings delete <会议ID>
AI 会议摘要(AI 助手)
bash
列出会议摘要
python3 scripts/zoom.py summary list
python3 scripts/zoom.py summary list --from 2026-01-01 --to 2026-01-31
获取特定会议的 AI 摘要
python3 scripts/zoom.py summary get <会议ID>
用户
bash
获取我的个人资料
python3 scripts/zoom.py users me
列出用户(管理员)
python3 scripts/zoom.py users list
团队聊天
bash
列出聊天频道
python3 scripts/zoom.py chat channels
列出频道中的消息
python3 scripts/zoom.py chat messages <频道ID>
向频道发送消息
python3 scripts/zoom.py chat send <频道ID> 大家好!
发送私信
python3 scripts/zoom.py chat dm <邮箱> 嘿,你有空吗?
列出联系人
python3 scripts/zoom.py chat contacts
电话(Zoom Phone)
bash
列出通话记录
python3 scripts/zoom.py phone calls --from 2026-01-01 --to 2026-01-31
所需权限范围
对于服务器到服务器 OAuth,请在 Zoom Marketplace 应用中启用以下权限范围。
仅添加您需要的权限范围——每个命令组需要特定的权限范围:
| 命令组 | 所需权限范围 |
|---|
| users me / users list | user:read:admin |
| meetings list/get/create/update/delete |
meeting:read:admin, meeting:write:admin |
| recordings list/get/delete | recording:read:admin, recording:write:admin |
| chat channels/messages/send/dm | chat
channel:read:admin, chatmessage:read:admin, chat_message:write:admin |
| chat contacts | contact:read:admin |
| summary list/get | meeting_summary:read:admin |
| phone calls | phone:read:admin(需要在账户上启用 Zoom Phone) |
如果遇到权限范围错误,请前往 https://marketplace.zoom.us/ → 您的应用 → 权限范围,并添加错误消息中列出的缺失权限范围。
速率限制
Zoom API 有速率限制(因端点而异,通常为 30-100 请求/秒)。脚本会自动处理 429 响应并进行重试。