Zoom のミーティングデータを Power BI で可視化:CData API Driver for ODBC

f:id:sugimomoto:20200914095230p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

以前の記事で Zoom API について解説したところ、アクセス数的にかなり好評でした! やはり、Zoom APIを活用して、連携や分析を行うニーズはこの状況において大きく増しているようですね。

https://www.cdata.com/jp/blog/2020-08-17-085924

今回はそんな 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/

f:id:sugimomoto:20200914094436p:plain

現在 100種類近くのAPI Profileを公開しており、その中に今回取り上げるZoom APIも含まれています。

https://www.cdata.com/jp/apidriver/#profiles

f:id:sugimomoto:20200914094446p:plain

なお、今回はPower BIを使いましたが、CData Driverは様々なBIツールから利用できるので、以下にあるようなお好みのBIツールで試すことができます。

https://www.cdata.com/jp/kb/tech/rest-article-list.rst

手順

それでは手順を解説していきましょう。

必要なもの

Power BIやZoom アカウントは予め取得しておいてください。

  • Zoom アカウント
  • Power BI Desktop
  • CData API ODBC Driver
  • CData API Driver 用 Zoom API Profile

Zoom API Profile を使うための準備

まず、Zoom API に接続するためのOAuth用の設定を行います。詳しくは こちら のヘルプにも記載しています。

以下のページに移動し、Zoom API用のOAuthアプリを作成します。

https://marketplace.zoom.us/develop/create

f:id:sugimomoto:20200914094708p:plain

今回は社内利用の想定のため、Account-Level appでマーケットプレイスには公開しない、以下の設定で作成しました。

f:id:sugimomoto:20200914094715p:plain

アプリを作成すると、Client Id と Client Secretが取得できるので、これを控えておきます。

デスクトップマシンから接続するので、Redirect URL for OAuthとWhitelist URLに「http://localhost:33333」と登録します。

f:id:sugimomoto:20200914094720p:plain

あとはアプリのスコープとして以下の5つを設定すれば準備完了です。

  • account:read:admin
  • meeting:read:admin
  • user:read:admin
  • webinar:read:admin
  • account:master

f:id:sugimomoto:20200914094726p:plain

API Driver と Zoom API Profileのダウンロード・インストール

続いて以下のページから「API Driver for ODBC」と「Zoom API Profile」をダウンロードします。

https://www.cdata.com/jp/apidriver/

f:id:sugimomoto:20200914094731p:plain

f:id:sugimomoto:20200914094736p:plain

「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 を入力します。

f:id:sugimomoto:20200914094741p:plain

すべての値を入力後、「接続のテスト」ボタンをクリックすると、ブラウザが立ち上がり、Zoom APIアクセス許可を求める画面が表示されるので、内容を確認の上「認可」をクリックしましょう。

f:id:sugimomoto:20200914094746p:plain

以下のように接続テストに成功したメッセージが表示されればOKです。

f:id:sugimomoto:20200914094752p:plain

Power BI から Zoom APIに接続する

準備が整ったので、Power BIからZoom APIに接続してみます。

Power BI Desktopを立ち上げて、「データを取得」をクリックし

f:id:sugimomoto:20200914094756p:plain

一覧の中からODBCを選択します。

f:id:sugimomoto:20200914094801p:plain

先程登録したODBC DSNを選択(デフォルトはCData API Sourceですが、私の環境では任意の名称で作成していました)して、

f:id:sugimomoto:20200914094806p:plain

Windowsの現在の資格情報で接続を行います。

f:id:sugimomoto:20200914094810p:plain

接続したら、早速ミーティングデータを取得したいところですが、Zoomのミーティングを取得するためには、まず紐付いているユーザーのIDを明らかにする必要があります。

以下からUsersを選択して、データを取り込み、UsersのIDを確認しましょう。

f:id:sugimomoto:20200914094820p:plain

ミーティングデータの取得

続いて実際のミーティングデータを取得します。

再度ODBCからデータの取得を選択肢、今度はSQL ステートメントで以下のように取得するためのクエリを記述します。

SELECT * FROM Meetings WHERE UserId = 'XXXXXXX'

この時に先程取得しておいたユーザーのIdをWhere句で指定すればOKです。

f:id:sugimomoto:20200914094833p:plain

これでミーティングデータ一覧を取得できました。

f:id:sugimomoto:20200914094839p:plain

あとはPower BIの機能を利用して分析することができます。以下はミーティングの時間を日付ごとに集計しただけですが、年月日マスタなどをリレーションさせることで、どのくらいの頻度でミーティングが行われているか? などの分析も実施できるでしょう。

f:id:sugimomoto:20200914094844p:plain

なお、過去のミーティングの結果、参加者数などを取得したい場合は「PastMeetings」テーブルを使用します。ただし、このテーブルにアクセスする場合、対象のミーティングIDが必要となるので注意しましょう。

http://cdn.cdata.com/help/FAF/api/zoom/pg_zoomviews-pastmeetings.htm

f:id:sugimomoto:20200914094851p:plain

トライアル・お問い合わせ

関連コンテンツ