Skip to main content

概要

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(分)、timezoneagendapassword(最大10文字)、recurrence(type が 8 の場合は必須。JSON文字列またはオブジェクト)、settings(JSON文字列またはオブジェクト)。
  • ZOOM_LIST_MEETINGS
    • ユーザーのミーティング一覧を取得します(user_id。管理者アカウントには me を指定)。
    • 主な入力: type(scheduled — デフォルト、upcomingliveupcoming_meetingsprevious_meetings)、page_size(1〜300)、next_page_tokenfrom / to(YYYY-MM-DD、過去ミーティングの一覧時)。
  • ZOOM_UPDATE_MEETING
    • meeting_id(IDまたはUUID)で既存ミーティングを更新します。最低1つのフィールドの指定が必要です。
    • 主な入力: topictypestart_timedurationtimezoneagendapasswordrecurrencesettings(代替ホストなど)、定期ミーティングの特定回を対象にする occurrence_id
  • ZOOM_LIST_MEETING_PARTICIPANTS
    • 開催済みミーティングの参加者一覧を meeting_id で取得します。
    • 主な入力: page_size(1〜300、デフォルト100)、next_page_tokendedupe(デフォルト true — ユーザーID・メール・名前で重複参加者をまとめます)。
  • ZOOM_GET_MEETING_REPORT
    • 2つのモードがあります。meeting_id を指定すると特定ミーティングの詳細レポートを、省略するとユーザー・期間指定のレポートサマリ一覧を取得します。
    • 主な入力(一覧モード): user_id(デフォルト me)、from / to(YYYY-MM-DD)、type(past — デフォルト、pastJoinedpastOnelive)、page_size(1〜30)、next_page_token
  • ZOOM_LIST_CLOUD_RECORDINGS
    • ユーザーのクラウド録画一覧を取得します。期間やゴミ箱のフィルタも指定できます。
    • 主な入力: user_id(デフォルト me)、from / to(YYYY-MM-DD)、page_size(1〜300、デフォルト30)、next_page_tokentrashtrash_type(meeting_recordings または recording_file)。
  • ZOOM_GET_CLOUD_RECORDING
    • meeting_id を指定してミーティングのクラウド録画詳細を取得します。recording_filesshare_urlpassword などが返されます。
    • 主な入力: include_fields(任意。カンマ区切りの値)。
  • ZOOM_UPDATE_RECORDING_SETTINGS
    • meeting_id を指定してクラウド録画の共有・視聴設定を更新します。最低1つの設定の指定が必要です。
    • 主な入力: share_recording(noneinternallypublicly)、viewer_downloadpasswordon_demandapproval_type、および高度なZoomフィールドを指定できる settings JSONオブジェクト。

認証

すべての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 は管理者アカウントを指します。
  • 定期ミーティングを作成するには type8 にして recurrence オブジェクトを指定します(例: { "type": 2, "repeat_interval": 1, "weekly_days": "2,4", "end_times": 10 })。他のミーティングタイプでは recurrence は無視されます。
  • recurrencesettings の入力は、JSON文字列とZoom APIのオブジェクト形式のどちらでも指定できます。
  • ZOOM_LIST_MEETING_PARTICIPANTSZOOM_GET_MEETING_REPORT開催済みのミーティングが対象です。ミーティング終了後に実行してください。
  • 一覧系のツールはページネーションに対応しています。返された next_page_token を次のリクエストに渡すと続きのページを取得できます。page_size の上限は300です(ミーティングレポートの一覧モードのみ30)。
  • ZOOM_UPDATE_MEETINGZOOM_UPDATE_RECORDING_SETTINGS は、更新するフィールドが1つも指定されていない場合はエラーになります。
  • account_credentials グラントで発行されるアクセストークンの有効期限は1時間です。ツールが自動的にキャッシュ・再取得します。