Zoom REST API の Meeting 操作をコマンドラインから実行できる CLI ツール。
- Node.js 18 以上
- Zoom アカウント(Pro / Business / Enterprise いずれか)
https://marketplace.zoom.us/ にサインインする。
- 右上の 「Develop」 → 「Build App」 をクリック
- 「Server-to-Server OAuth」 を選択し 「Create」 をクリック
- アプリ名を入力(例:
zoom-cli)して作成
作成後の 「App Credentials」 タブに以下が表示される。
| 項目 | 環境変数 |
|---|---|
| Account ID | ZOOM_ACCOUNT_ID |
| Client ID | ZOOM_CLIENT_ID |
| Client Secret | ZOOM_CLIENT_SECRET |
この 3 つを控えておく。
「Scopes」 タブで以下を追加する。
| スコープ | 用途 |
|---|---|
meeting:read:admin |
ミーティングの一覧・詳細取得 |
meeting:write:admin |
ミーティングの作成・更新・削除 |
個人ユーザー向けの場合は
meeting:read/meeting:writeでも可。
「Activation」 タブで 「Activate your app」 をクリックする。
ステータスが 「Activated」 になれば準備完了。
# 依存パッケージのインストール
npm install
# .env ファイルを作成
cp .env.example .env.env を編集して、取得した認証情報を設定する。
ZOOM_ACCOUNT_ID=your_account_id
ZOOM_CLIENT_ID=your_client_id
ZOOM_CLIENT_SECRET=your_client_secret
npm run buildnpm run dev -- meeting list
npm run dev -- meeting list -n 10 # 取得件数を指定
npm run dev -- meeting list --type live # 実行中のミーティングを取得
npm run dev -- meeting list --type upcoming # 今後のミーティングを取得
npm run dev -- meeting list --json # JSON で出力| オプション | 必須 | 説明 |
|---|---|---|
-n, --page-size |
No | 1 ページあたりの取得件数。デフォルト 30 |
--type |
No | ミーティングの種類でフィルター。デフォルト scheduled |
--type に指定できる値:
| 値 | 説明 |
|---|---|
scheduled |
スケジュール済み(デフォルト) |
live |
現在実行中のミーティング |
upcoming |
今後予定されているミーティング |
pending |
承認待ちのミーティング |
npm run dev -- meeting create -t "定例会議" -s "2026-03-01T10:00:00Z" -d 60
npm run dev -- meeting create -t "朝会" -s "2026-03-01T01:00:00Z" -d 15 --timezone Asia/Tokyo
npm run dev -- meeting create -t "Test" --json| オプション | 必須 | 説明 |
|---|---|---|
-t, --topic |
Yes | ミーティングのトピック |
-s, --start-time |
No | 開始日時(ISO 8601 形式) |
-d, --duration |
No | 所要時間(分)。デフォルト 60 |
--timezone |
No | タイムゾーン(例: Asia/Tokyo) |
--agenda |
No | アジェンダ |
--password |
No | パスワード |
npm run dev -- meeting get 12345678901
npm run dev -- meeting get 12345678901 --jsonnpm run dev -- meeting update 12345678901 -t "新しいトピック"
npm run dev -- meeting update 12345678901 -d 90 --timezone Asia/Tokyonpm run dev -- meeting delete 12345678901| オプション | 説明 |
|---|---|
--json |
出力を JSON 形式に切り替え(スクリプト連携向け) |
-h, --help |
ヘルプを表示 |
-V, --version |
バージョンを表示 |
npm run build
node dist/index.js meeting listグローバルインストールする場合:
npm link
zoom meeting list| エラー | 原因と対処 |
|---|---|
Environment variable ZOOM_ACCOUNT_ID is required |
.env ファイルが存在しない、または値が空 |
Zoom API error (401) |
認証情報が不正。Client ID / Secret を確認する |
Zoom API error (124) |
無効な access token。アプリが Activated か確認する |
Zoom API error (3001) |
存在しない Meeting ID |
Zoom API error (429) |
レートリミット超過。時間を置いて再実行する |
scopes 関連のエラー |
Marketplace のアプリ設定でスコープが足りていない |