kintone-Zoom連携自習1日目

Zoomミーティングの登録が面倒なので、kintone側に設定して同じ設定を使い回してミーティングを登録したい。

検証環境はmac os

構成は下記のような感じ

概要

認証部分の作成
1・認証用のZoom Appを作成する
2・kintoneに認証情報保存用Appを作成する
3・Zoom API用のアクセストークンを取得する

Zoomミーティングの作成
4・Zoom API用のアクセストークンを認証情報保存用のkintoneアプリに登録する
5・kintoneにZoomミーティング予約アプリを作成する
6・Zoom API を利用してミーティングを作成するプログラムをAWS Lambdaで実装する
7・kintoneのミーティング予約アプリのWebhookに6のLambdaのエンドポイントURLを設定する

まず3まで作成する。
認証情報が取得できたら、その情報を使ってミーティングを作成する。
その後、同じ流れでkintoneのミーティング設定が削除されたら、Zoomのミーティング情報も削除する。

認証部分の作成

1・認証用のZoom Appを作成する

個人用のZoomアカウントでZoomの管理画面にログインします。
その後、開発プラットフォームにログインしてZoom Appを作成します。

詳細は下記を参照のこと。
https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/

1-1 開発プラットフォーム画面
1-2 Server-to-Server OAuthを選択
1-3 クレデンシャル情報

クレデンシャル情報は後でZoomへの認証情報として利用します。

1-4 スコープの設定

スコープ設定はとりあえず全てチェックします。不要スコープは後で外すことができます。

1-5 Zoom app完成画面

2・kintoneに認証情報保存用Appを作成する

kintoneにZoomの認証情報を保存するアプリを作成します。
※OAuthの仕組みについては特に言及しません。また、OAuthの定義の認可・認証の言葉とは違う使い方をしていますのでご了承ください。
Zoom App作成の1-3の画面にて生成されたクレデンシャル情報3点をkintoneのレコードとして登録します。また、認証後に発行されるアクセストークンを保存するフィールドも用意します。

アクセストークンの取得方法は下記を参照のこと。
https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#use-account-credentials-to-get-an-access-token

3・Zoom API用のアクセストークンを取得する

2までできたらコマンドラインからZoomのアクセストークンを取得してみます。取得方法は下記に記載のコマンドです。

https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#use-account-credentials-to-get-an-access-token

curl -X POST -H 'Authorization: Basic Base64Encoder(clientId:clientSecret)' https://zoom.us/oauth/token?grant_type=account_credentials&account_id={accountId}

macでは、Authorizationに渡すclientId:clientSecretをBase64エンコードする場合は下記の通り。

echo -n "clientId:clientSecret" | base64

※clientId:clientSecretは前段で取得したClient IDとClient secretで置き換えます。

curl -X POST -H 'Authorization: Basic Base64Encoder(clientId:clientSecret)' 'https://zoom.us/oauth/token?grant_type=account_credentials&account_id={accountId}'

curlの戻り値にアクセストークンが入っているので、それを利用してAPIを実行する。

List users
https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/users

curl -H 'Authorization:Bearer {access_token}' 'https://api.zoom.us/v2/users'

List meetings
https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetings

curl -H 'Authorization:Bearer {access_token}' 'https://api.zoom.us/v2/users/me/meetings?userId=me'

Zoomのコンソールからミーティングを登録して表示されるか確認します。

続きます。


いいなと思ったら応援しよう!