DAIaryX

ZoomAPIでミーティング作成

しん

hero



Zoom API

開発中のマッチングサービスにZoomを組み込むことになったので、Zoom APIの使い方共有です。
Zoom APIに関しては古い記事も多いですが、2024年現在、OAUTH認証形式のみ使えるようです。

まずはzoomアカウントを作成し、管理者としてログインします。


設定

ログイン後、メニューの管理者項目からアプリマーケットプレイスをクリックします。


右上のdevelopからBuild Appを選択すると利用規約モーダルが開くので同意します。


アプリの種類

次に、アプリの種類を聞かれるので、Server to Server OAuth Appを選択し、Createをクリックしてアプリ名を入力します。


アプリ設定

アプリ設定画面に遷移するので、TOPのApp Credentialsから以下の値をコピーします。

  • Account ID
    • OAUTH認証に必要です
  • Client ID
    • OAUTH認証時にsecretと共に暗号化して送信します。
  • Client Secret
    • OAUTH認証時にIDと共に暗号化して送信します。

Information

Activationに必要な情報を入力します。
こちらと次のScopesを設定してActivationするまでOAUTH認証は通りません。
イベント通知を受け取りたい場合はFeature項目もチェックします。

Scopes

Add Scopesから必要な権限を一つ以上選択します。
自分のuser_idがわからないとミーティング作成APIが使えないため、View users権限を追加しておきます。
他にもミーティング作成・削除・更新などの権限を追加します。

Activation

Activate your appをクリックして有効にします。


API

今回はRuby on Railsと連携します。

Gemfileにzoom_rbを追加し、bundle installします。

gem 'zoom_rb'


Access Token取得

設定でコピーしたID,SECRETなどを環境変数に設定し、access_tokenを取得します。

Zoom.configure do |c|
c.api_key = ENV["CLIENT_ID"]
c.api_secret = ENV["CLIENT_SECRET"]
end
auth = Zoom::Client::ServerToServerOAuth.new(account_id: ENV["ACCOUNT_ID"]).auth
token = auth["access_token"]


ミーティング作成

このaccess_tokenを使い、user_list APIを叩き、user_idを取得します。

zoom_client = Zoom::Client::OAuth.new(access_token: token, timeout: 15)
user_list = zoom_client.user_list
user_id = user_list["users"].first["id"]


上記のuser_idを使うとAPIからミーティングを作成できます。

meeting = zoom_client.meeting_create(user_id: user_id)
meeting["join_url"]

こちらのjoin_urlを共有すれば、ミーティングに参加できます。

他にも色々できますが、詳細はこちらのMeetings APIsドキュメントを参照ください。


まとめ

今回はZoomのAPIを使ってミーティングを作成しました。
ミーティング作成だけでなく無料で様々なAPIが使えるので、今回の記事を参考に是非サービスに組み込んでみてください!

15

記事数

しん