Skip to content

ex-takashima/zoom-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. アプリを作成

  1. 右上の 「Develop」「Build App」 をクリック
  2. 「Server-to-Server OAuth」 を選択し 「Create」 をクリック
  3. アプリ名を入力(例: 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 のアプリ設定でスコープが足りていない

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •