HapInSアドベントカレンダー2024 8日目もoobaです!
ブログもYouTuberみたいに冒頭の固定の挨拶とか考えてみたいのですが迷走してます😇
今回、記録として残しておくのがPostmanでZoom APIを使ってZoomのミーティングURLを発行するまでを解説したいと思います。
別記事でpart1として認証画面を通してアクセストークンを取得する流れを説明したのでそちらも合わせて見てもらえると、用途に応じたZoom Meeting URLが取得できるようになり、手順も理解できるようになるのではないかと思います。
そんなPart1はコチラ
https://blog.hapins.net/entry/2024/12/07/120000
Zoom API接続もPostmanも全部よくわからない・・・!
といった方への超絶初心者向けの記事になります。
設定画面もキャプチャ多めでわかりやすさを重視しているため長くなりますが許してください。
ゼロから全て手順を説明いたしますので、分かる方は暖かい目で見守っていただけますと幸いです🙏🏻
それでは早速、始めていきましょう!!レッツAPI
【ゴール】
・Postmanを使ってZoom APIを叩き、ミーティングURLを作成する
【前提情報】
・Zoomはベーシックプラン(無料)です
・認証方法はOAuthです
※OAuthってなに?と思った方は以下の記事が理解しやすかったです。
https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be
・認証画面には移行せずアクセストークンを取得し、そのトークンを使用してMeeting URLを発行します。
【準備するもの】
・Postman
※触ったことない方はインストールしてください
https://www.postman.com/downloads/
・Zoom App Marketplace
※アカウントがない方はサインアップをおこなってください
https://marketplace.zoom.us/
アカウント設定がそれぞれ完了したら実際の手順にうつっていきましょう!!
1. Zoom側の準備
まずは、Developから"Build App"を選択します。

"Server to Server OAuth App"を選択してください

設定画面に遷移しますので、最低限の項目だけ設定していきます。
名前は任意なので好きなものでOKです
App Credentialsに記載されている以下情報は後でPostmanにて使うので保管しておいてください。
・Account ID
・Client ID
・Client Secret

サイドバーのInformationがありますが、そこで最低限の情報を入力する必要があります。
・Company name
・Name
・Email
ここはとりあえず適当に入力するくらいであまり気にしなくて大丈夫です(笑)

最後にScopesを設定します。
"+ Add Scopes"を選択し、検索欄で"meeting:write:meeting:admin"のスコープを選択してください。

これで最低限のZoom側の準備は完了です、アクティベイトしていきます!
"Activation"から"Activate your app"を選択してセッティング完了です。

このような表示になればOK

お疲れ様でした!Zoom側の設定は以上になりますので、Postmanの設定をしようと思います。
2. Postman側の準備
アカウント登録の準備ができましたら、New CollectionからRequestを2つ作成します。
まず1つ目のリクエストの準備をしていきます
リクエストのタイプを"POST"に設定し、URLを"https://zoom.us/oauth/token"と入力してください。
また、"Params"タブから2つのパラメータを設定してください
Keyに"grant_type"でValueは""account_credentials", Keyは"account_id"と入力し、Valueは先ほどZoom設定の際に控えておいた"Account ID"を入力してください。

次にAuthorizationタブから"Username"と"Password"を設定します。
こちらは先ほど、Zoomの設定で控えておいた"Client ID", "Client Secret"を使います
・Auth Type : Basic Authを選択
・Username : Client ID
・Password : Client Secret

これでアクセストークン取得の準備は完了なので右上のSendボタンを押すと、認証画面を通らず、アクセストークンを取得することができます。

これでMeeting URLの発行までの準備が整ったので次に新しいリクエスト作って実際にMeeting URLを取得していきましょう。
先ほど取得したアクセストークンは控えておきつつ、新しいリクエストを作成してください。
タイプは"POST"でURLは"https://api.zoom.us/v2/users/[Zoomアカウントのメルアド]/meetings"
※Zoomに設定しているメールアドレスが"example@test.com"の場合
"https://api.zoom.us/v2/users/example@test.com/meetings"
さらに"Authorization"タブから以下を設定してください。
・Auth Type : Bearer Token
・Token : 1つ目のリクエストで取得したアクセストークンをコピペ!

最後にBodyを設定していきますが、Meetingについての設定をすることができます。
以下をそのままコピペすればとりあえずMeeting URL発行まではできるので参考までに・・・!
{
"topic": "プロジェクトミーティング",
"type": 2, // スケジュールされたミーティングの場合は2を使用
"start_time": "2024-11-13T09:00:00Z", // ISO 8601形式 (UTC)で記載
"duration": 60, // ミーティングの長さ(分)
"timezone": "Asia/Tokyo", // タイムゾーンを指定
"agenda": "次のプロジェクトフェーズの計画",
"settings": {
"host_video": true,
"participant_video": true,
"join_before_host": false, // ホストが参加する前に参加できるか
"mute_upon_entry": true, // 入室時にミュート
"waiting_room": true, // 待機室の有無
"approval_type": 0, // 参加者の承認タイプ(自動承認)
"registration_type": 1 // 登録タイプ
}
}
準備は整いました。これでSendを押すとレスポンスとしてMeeting URLが返ってきます⭐️

さいごに
これでZoomのMeeting URLを認証画面を毎回挟まずにAPIを使って発行する方法でした。
Part1の記事では、認証画面を使ったMeeting URLの取得(General App)によるMeeting URL取得も解説しておりますので、
用途に合う形でテストしてみる・勉強してみるのがイイかなと思います!(Part1の記事は冒頭にリンクを貼っています!)
試しにやってみるだけでも、OAuth認証周りについて肌で感じられて理解も増すのかなと思います!
ぜひ試してみてくださいね!