【2024年最新版】ZoomAPIの使い方
皆さんお久しぶりです。今回はZoom APIの使用方法についての記事になります。少し前にJWTの仕様がなくなって全てOAuthになりましたね。それに伴いAPIの仕様自体もいくつか変化しており、ネットに落ちている記事をそのまま実装しようとするとうまくいかないことが多いと思います。
今回は最新版ということで、実際にZoom APIを使ってきたのでそのまとめをしていきたいと思います。ぜひ、最後までご覧ください。
APIとSDKの違い
まず、調べてくるとAPIとSDKの2つが出てきて混乱するかと思います。ZoomのAPIとSDKは、それぞれ異なる目的や機能を提供しています。まずは、それぞれの違いを説明します。
Zoom API
概要
Zoom APIは、Zoomの機能やデータにアクセスするためのインターフェースを提供します。APIを使用することで、Zoomの各種サービスや機能と連携したアプリケーションを開発できます。
主な用途
ミーティングの管理:
ミーティングの作成、更新、削除
ミーティングの詳細情報の取得
ユーザーの管理:
ユーザーの作成、更新、削除
ユーザー情報の取得
レポートの取得:
ミーティングレポートやユーザーレポートの取得
ウェビナー管理:
ウェビナーの作成、更新、削除
ウェビナーの詳細情報の取得
録画の管理:
録画の取得、削除
録画情報の取得
使用方法
RESTful APIを通じてHTTPリクエストを送信
OAuth 2.0やJWTを使用した認証
JSON形式のデータの送受信
Zoom SDK
概要
Zoom SDKは、Zoomのビデオ会議機能を自分のアプリケーションに直接統合するためのツールキットです。SDKを使用することで、Zoomのビデオ会議機能をカスタマイズし、自分のアプリ内でビデオ会議を実現できます。
主な用途
ビデオ会議の統合:
アプリケーション内にビデオ会議機能を組み込む
ビデオ会議の開始、参加、終了
UIカスタマイズ:
ビデオ会議のUIをアプリのデザインに合わせてカスタマイズ
リアルタイムのビデオとオーディオ:
リアルタイムでのビデオとオーディオの通信
録画:
会議の録画機能の統合
チャット機能:
ビデオ会議中のチャット機能の統合
使用方法
各プラットフォーム向けのSDK(iOS、Android、Windows、macOS)を提供
ライブラリやAPIを使用してアプリケーションに組み込む
認証にはSDK固有のトークンやAPIキーを使用
Zoom APIは、Zoomのサービスや機能を利用して管理やレポートを行いたい場合に使用します。一方、Zoom SDKは、Zoomのビデオ会議機能を自分のアプリケーションに統合し、カスタマイズしたい場合に使用します。用途に応じて、どちらを使用するかを選択すると良いでしょう。
今回はビデオ機能をアプリに実装するわけではないので、APIを利用します。
無料なの?有料なの?
APIは基本的にすべて無料で使用できます。ただし、有料ではないと使用できないコンテンツがあるので、その情報をとろうとする場合、課金してないといけません。クラウド録画は有料プランでのみ使用可能な例ですね。
あとは、リクエスト制限がプランによってゆるくなっていきますが、個人で使う分には無料のプランで問題ないと思います。
実際にAPIを使ってみよう!
では、実際にZoomのAPIを利用してみましょう。
あなたは管理アカウントですか?
管理アカウントの場合はそのまま次に進んでください。Zoomの無料プランを使っているユーザはユーザ登録した段階で、それが管理アカウントなので特に気にしなくても問題ないです。
ただ、有料プランを利用している方からユーザを割り当ててもらった場合、こちらは作業が必要です。管理アカウントを持っている方に以下の作業をお願いしてください。
https://us05web.zoom.us/role#/ にアクセスしてロールを追加しましょう。サイドバーだとユーザー管理の下にあります。画像1
ロールの名前は何でもいいですが、「API」と今回はおいておきます
作成できたら、ロールが追加されていると思いますので、今度はロールを編集します。編集ボタンはえんぴつマークになっているのでそこをクリックします
ロールメンバーに自分のアカウントを追加してもらいます。
次にロール設定です。ここは、自分が利用したいAPIのスコープを指定しなくてはいけないので、事前にAPIを調べておかないといけません。とりあえず、今回は必ず必要になるものを画像2に表します。
あとで、権限が足りなくなったらここでいくつか追加してもらうことになるのでよく覚えておきましょう。
Marketplaceへれっつごー
APIを使い慣れている人はどこかでAPIのキーとシークレットが欲しくなると思います。わからない人のために補足すると、Zoom側が勝手にAPIを使われたくないので、認証を通した人にだけ使わせるための簡易的なIDとパスワードみたいなものです。
こちらにアクセスして、右上の「Develop」ボタンをクリックしてアプリを作成するとAPIを利用するのに必要な情報が手に入ります。
「Develop」をクリックすると下記のように三種類アプリを選べます。
それぞれの違いを簡単に説明します。まず、大きく分けて2種類に分けられます。
「Build App・Build Legacy App」と「Build Server-to-Server App」です。 OAuthの仕様が違うのですが、ここらへんは気になる方だけ勉強していただければと思います。下記の記事にある「クライアント・クレデンシャルズフロー」がServer-to-Serverの認証にあたります。
じゃあ、実務的には何が違うかというとバッチ的にAPIを使いたいだけなら「Server-to-Server」のほうを選びましょう。そうではなく、Webシステムとして公開し、いろいろな人に使ってもらいたいなら「Build App・Build Legacy App」を選びましょう。
APIに必要な情報を集めよう!
「Build Server-to-Server App」をクリックするとアプリの名前を入力できますので、自分で好きな名前を入力してください。
入力を終えるとこんな感じで、3種類の情報が取得できます。それぞれ大切に保管してください。流出もさせないように気を付けましょう。
このあとは、説明文に従って項目を入力していけば問題ありません。途中、会社名など聞かれますがすべて適当で問題ないです。
最後に、「Scopes」と呼ばれるアプリの権限を設定する場所があります。例えば、下記のリンクの「GET List contact groups」に必要な権限は「 contact_group:read:admin」となっています。画像6にこの文字を入力し、チェックをつけましょう。
この時に、必要な権限が出てこないようなら、いまログインしているユーザの権限が足りてない可能性があります。少し戻って、アカウントの権限を設定するところがあるのでそこをご覧になってください。→ 「あなたは管理アカウントですか?」がタイトルになってます。
実際にAPIを叩いてみましょう!!!
お疲れ様です。よく頑張りました。もうAPIの利用は目の前です。コマンドプロンプトを開き下記のコマンドを打ってください。
$ echo -n 'YOUR_CLIENT_ID:YOUR_CLIENT_SECRET' | base64 | tr -d '\n' | xargs -I {} curl -X POST https://zoom.us/oauth/token -d 'grant_type=account_credentials' -d 'account_id=YOUR_ACCOUNT_ID' -H "Content-Type: application/x-www-form-urlencoded" -H 'Host: zoom.us' -H 'Authorization: Basic {}'
YOUR_CLIENT_ID
YOUR_CLIENT_SECRET
YOUR_ACCOUNT_ID
この3つはご自身のものに書き換えてください。書き換え終わって実際にコマンドを叩いてみると、「access_token」と呼ばれるものが取得できるはずです。こちらをどこかに保存してください。ダブルクォーテーションでくくられている範囲の文字列です。実際はもう少し長いかと思います(下記は適当な文字列を入れた)
{"access_token":"IsImFIuMCIsImtpZCI6ImFlYjdkYTc2LTJkMmUtNGQ4MS1hZWZlLTdhMDM2MjM4YmNkMCJ9.eyJhdWQiOiJodHRwczovL29hdXRoLnpvb20udXMiLCJ1aWQiOiJPV29KMWI3fheuikfhreuioelkrieYiOjE3MTgwMDU1OTMxd2dpa3RPNFFjeThfZTd6VGtaYlpRWGZPMjA5Zk51UFMi5Y5yJg","token_type": この後も続いてるけど省略 ...
あとは、これを使って使いたいAPIを叩いたら終了です!!試しに、自分の情報をとってきてみましょうか。一緒に動かしてみる場合は「TOKEN」のところを先ほど取得したものに差し替えてください。
$ curl -X GET https://api.zoom.us/v2/users/me/settings -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Bearer TOKEN"
おわりに
いかがだったでしょうか?最新版のZoom APIの利用方法です。結構大変だと思われましたかね?意外と自分でやるとなると結構苦しいこと多いですよね。
もしよろしければ、私に連絡を頂ければお見積りしてツールを作ることも可能ですのでぜひご連絡ください。
と、ここで終わってしまうのが普通の人ですが、私は違います!!!クラウド録画をまとめてダウンロードするツールをすでに作成済みです。すでにツールを利用していただいているお客様もいるので無料でというのはできないですが、少しだけ勉強させていただいたものをこちらの有料ゾーンで配布します。
ここから先は
この記事が気に入ったらチップで応援してみませんか?