概要
Zoomツールを使用すると、フローからZoomの操作を自動化できます。ミーティングの作成・更新(定期ミーティングを含む)、ユーザーのミーティング一覧取得、終了後のミーティングレポートや参加者一覧の取得、クラウド録画の管理まで、すべてZoomのServer-to-Server OAuth認証で実行できます。主な機能
ZOOM_CREATE_MEETING- ホスト(
user_id: ZoomユーザーIDまたはメールアドレス)のミーティングを即時・スケジュール・定期で作成します。 - 主な入力:
topic(必須)、type(1: 即時、2: スケジュール — デフォルト、3: 時刻固定なしの定期、8: 時刻固定ありの定期)、start_time(ISO 8601)、duration(分)、timezone、agenda、password(最大10文字)、recurrence(typeが 8 の場合は必須。JSON文字列またはオブジェクト)、settings(JSON文字列またはオブジェクト)。
- ホスト(
ZOOM_LIST_MEETINGS- ユーザーのミーティング一覧を取得します(
user_id。管理者アカウントにはmeを指定)。 - 主な入力:
type(scheduled— デフォルト、upcoming、live、upcoming_meetings、previous_meetings)、page_size(1〜300)、next_page_token、from/to(YYYY-MM-DD、過去ミーティングの一覧時)。
- ユーザーのミーティング一覧を取得します(
ZOOM_UPDATE_MEETINGmeeting_id(IDまたはUUID)で既存ミーティングを更新します。最低1つのフィールドの指定が必要です。- 主な入力:
topic、type、start_time、duration、timezone、agenda、password、recurrence、settings(代替ホストなど)、定期ミーティングの特定回を対象にするoccurrence_id。
ZOOM_LIST_MEETING_PARTICIPANTS- 開催済みミーティングの参加者一覧を
meeting_idで取得します。 - 主な入力:
page_size(1〜300、デフォルト100)、next_page_token、dedupe(デフォルトtrue— ユーザーID・メール・名前で重複参加者をまとめます)。
- 開催済みミーティングの参加者一覧を
ZOOM_GET_MEETING_REPORT- 2つのモードがあります。
meeting_idを指定すると特定ミーティングの詳細レポートを、省略するとユーザー・期間指定のレポートサマリ一覧を取得します。 - 主な入力(一覧モード):
user_id(デフォルトme)、from/to(YYYY-MM-DD)、type(past— デフォルト、pastJoined、pastOne、live)、page_size(1〜30)、next_page_token。
- 2つのモードがあります。
ZOOM_LIST_CLOUD_RECORDINGS- ユーザーのクラウド録画一覧を取得します。期間やゴミ箱のフィルタも指定できます。
- 主な入力:
user_id(デフォルトme)、from/to(YYYY-MM-DD)、page_size(1〜300、デフォルト30)、next_page_token、trash、trash_type(meeting_recordingsまたはrecording_file)。
ZOOM_GET_CLOUD_RECORDINGmeeting_idを指定してミーティングのクラウド録画詳細を取得します。recording_files、share_url、passwordなどが返されます。- 主な入力:
include_fields(任意。カンマ区切りの値)。
ZOOM_UPDATE_RECORDING_SETTINGSmeeting_idを指定してクラウド録画の共有・視聴設定を更新します。最低1つの設定の指定が必要です。- 主な入力:
share_recording(none、internally、publicly)、viewer_download、password、on_demand、approval_type、および高度なZoomフィールドを指定できるsettingsJSONオブジェクト。
認証
すべてのZoomツールは Server-to-Server OAuth を使用します。Zoom App Marketplace でServer-to-Server OAuthアプリを作成し、以下の値をZOOM_SERVER_TO_SERVER_OAUTH シークレットとして登録してください。
- Account ID: ZoomアカウントのID
- Client ID: アプリのOAuthクライアントID
- Client Secret: アプリのOAuthクライアントシークレット
account_credentials グラントで自動的に発行されるため、ユーザーのログイン操作やトークンの更新処理は不要です。
注意: 認証情報は機密情報として扱い、公開リポジトリにコミットしないでください。
例: スケジュールミーティングの作成
例: 開催済みミーティングの要約(レポート + 参加者)
注意事項
user_idに指定するホストは、Server-to-Server OAuthアプリと同じZoomアカウントに所属している必要があります。meは管理者アカウントを指します。- 定期ミーティングを作成するには
typeを8にしてrecurrenceオブジェクトを指定します(例:{ "type": 2, "repeat_interval": 1, "weekly_days": "2,4", "end_times": 10 })。他のミーティングタイプではrecurrenceは無視されます。 recurrenceとsettingsの入力は、JSON文字列とZoom APIのオブジェクト形式のどちらでも指定できます。ZOOM_LIST_MEETING_PARTICIPANTSとZOOM_GET_MEETING_REPORTは開催済みのミーティングが対象です。ミーティング終了後に実行してください。- 一覧系のツールはページネーションに対応しています。返された
next_page_tokenを次のリクエストに渡すと続きのページを取得できます。page_sizeの上限は300です(ミーティングレポートの一覧モードのみ30)。 ZOOM_UPDATE_MEETINGとZOOM_UPDATE_RECORDING_SETTINGSは、更新するフィールドが1つも指定されていない場合はエラーになります。account_credentialsグラントで発行されるアクセストークンの有効期限は1時間です。ツールが自動的にキャッシュ・再取得します。