@dondonudonjp/zoom-cli
v1.1.0
Published
CLI tool for Zoom Meeting REST API operations
Downloads
243
Maintainers
Readme
Zoom CLI
Zoom REST API の Meeting 操作をコマンドラインから実行できる CLI ツール。
前提条件
- Node.js 18 以上
- Zoom アカウント(Pro / Business / Enterprise いずれか)
Zoom Server-to-Server OAuth アプリの作成
1. Zoom App Marketplace にアクセス
https://marketplace.zoom.us/ にサインインする。
2. アプリを作成
- 右上の 「Develop」 → 「Build App」 をクリック
- 「Server-to-Server OAuth」 を選択し 「Create」 をクリック
- アプリ名を入力(例:
zoom-cli)して作成
3. 認証情報を取得
作成後の 「App Credentials」 タブに以下が表示される。
| 項目 | 環境変数 |
|---|---|
| Account ID | ZOOM_ACCOUNT_ID |
| Client ID | ZOOM_CLIENT_ID |
| Client Secret | ZOOM_CLIENT_SECRET |
この 3 つを控えておく。
4. スコープを設定
「Scopes」 タブで以下を追加する。
| スコープ | 用途 |
|---|---|
| meeting:read:admin | ミーティングの一覧・詳細取得 |
| meeting:write:admin | ミーティングの作成・更新・削除 |
個人ユーザー向けの場合は
meeting:read/meeting:writeでも可。
5. アプリを有効化
「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 buildコマンド一覧
ミーティング一覧
npm 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 --jsonミーティング更新
npm run dev -- meeting update 12345678901 -t "新しいトピック"
npm run dev -- meeting update 12345678901 -d 90 --timezone Asia/Tokyoミーティング削除
npm 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 のアプリ設定でスコープが足りていない |
