こんにちは。CData Software Japan リードエンジニアの杉本です。
以前の記事で Zoom API について解説したところ、アクセス数的にかなり好評でした! やはり、Zoom APIを活用して、連携や分析を行うニーズはこの状況において大きく増しているようですね。
今回はそんな Zoom APIを使った活用例の一つとして、Power BI から Zoom API に接続し、ミーティングデータを可視化する方法を紹介したいと思います。
実現方法
Power BI から Zoom API への接続には CData で公開している API Drver for ODBC と Zoom API Profile を使用します。
API Driverは各種APIに接続するためのProfileとセットで使うことで、CData Driverを経由して様々なAPIに接続できるようになる Driverです。
https://www.cdata.com/jp/apidriver/
現在 100種類近くのAPI Profileを公開しており、その中に今回取り上げるZoom APIも含まれています。
https://www.cdata.com/jp/apidriver/#profiles
なお、今回はPower BIを使いましたが、CData Driverは様々なBIツールから利用できるので、以下にあるようなお好みのBIツールで試すことができます。
https://www.cdata.com/jp/kb/tech/rest-article-list.rst
手順
それでは手順を解説していきましょう。
必要なもの
Power BIやZoom アカウントは予め取得しておいてください。
Zoom API Profile を使うための準備
まず、Zoom API に接続するためのOAuth用の設定を行います。詳しくは こちら のヘルプにも記載しています。
以下のページに移動し、Zoom API用のOAuthアプリを作成します。
https://marketplace.zoom.us/develop/create
今回は社内利用の想定のため、Account-Level appでマーケットプレイスには公開しない、以下の設定で作成しました。
アプリを作成すると、Client Id と Client Secretが取得できるので、これを控えておきます。
デスクトップマシンから接続するので、Redirect URL for OAuthとWhitelist URLに「http://localhost:33333」と登録します。
あとはアプリのスコープとして以下の5つを設定すれば準備完了です。
- account:read:admin
- meeting:read:admin
- user:read:admin
- webinar:read:admin
- account:master
API Driver と Zoom API Profileのダウンロード・インストール
続いて以下のページから「API Driver for ODBC」と「Zoom API Profile」をダウンロードします。
https://www.cdata.com/jp/apidriver/
「API Driver for ODBC」のインストーラーを実行して、セットアップが完了すると、以下のような接続設定画面が表示されるので、必要な値を設定します。
- Profile:ダウンロードしたZoom API Profie「Zoom.apip」のファイルパスを入力します。
- Callback URL:アプリのRedirect URLに登録した「http://localhost:33333」を指定します。
- Initiate OAuth:GETANDREFRESHを指定します。
- OAuth Client Id:Zoom OAuthアプリのClient Idを入力します。
- OAuth Client Secret:Zoom OAuthアプリのClient Secret を入力します。
すべての値を入力後、「接続のテスト」ボタンをクリックすると、ブラウザが立ち上がり、Zoom APIアクセス許可を求める画面が表示されるので、内容を確認の上「認可」をクリックしましょう。
以下のように接続テストに成功したメッセージが表示されればOKです。
Power BI から Zoom APIに接続する
準備が整ったので、Power BIからZoom APIに接続してみます。
Power BI Desktopを立ち上げて、「データを取得」をクリックし
一覧の中からODBCを選択します。
先程登録したODBC DSNを選択(デフォルトはCData API Sourceですが、私の環境では任意の名称で作成していました)して、
Windowsの現在の資格情報で接続を行います。
接続したら、早速ミーティングデータを取得したいところですが、Zoomのミーティングを取得するためには、まず紐付いているユーザーのIDを明らかにする必要があります。
以下からUsersを選択して、データを取り込み、UsersのIDを確認しましょう。
ミーティングデータの取得
続いて実際のミーティングデータを取得します。
再度ODBCからデータの取得を選択肢、今度はSQL ステートメントで以下のように取得するためのクエリを記述します。
SELECT * FROM Meetings WHERE UserId = 'XXXXXXX'
この時に先程取得しておいたユーザーのIdをWhere句で指定すればOKです。
これでミーティングデータ一覧を取得できました。
あとはPower BIの機能を利用して分析することができます。以下はミーティングの時間を日付ごとに集計しただけですが、年月日マスタなどをリレーションさせることで、どのくらいの頻度でミーティングが行われているか? などの分析も実施できるでしょう。
なお、過去のミーティングの結果、参加者数などを取得したい場合は「PastMeetings」テーブルを使用します。ただし、このテーブルにアクセスする場合、対象のミーティングIDが必要となるので注意しましょう。
http://cdn.cdata.com/help/FAF/api/zoom/pg_zoomviews-pastmeetings.htm