Zoom Marketplaceのアプリ公開まで

2023/08/01に公開

レビューチーム担当者とのミーティングやメールでやり取りしたり、Forumでスレッドを立てて質問したりしてどうにか公開できましたが、かなり時間がかかってしまいました。

Functionalレビューチームの担当者、Securityレビューチームの担当者とそれぞれ一回づつオンラインミーティングの機会をもらい仕様説明をしました。ミーティングもメールのやり取りも丁寧でレスポンスも早くてとても良い印象でした。

引っかかった点など残しておきたいと思います。

Zoom Marketplaceにアプリを公開が必要になった背景

スタッフのZoomアカウントをホストとするZoomミーティング作成(ミーティング予約)をユーザ側の操作だけでできるようにする必要があり、
Zoom MarketplaceのAuth Appで実現できそうだということで開発を進めました。

わかるまで時間がかかった点

申請自体はレビューチームが細かく指摘してくれますので指示通りに修正していけば問題ないと思います。
ただ、Zoom Marketplaceの申請画面やDocは頻繁に更新されているので、申請途中で申請方法が変わったりDocのURLが変わることがありDocを読み直したりする必要がありました。

Me keywordを使わないといけない

(The me keyword)[https://developers.zoom.us/docs/api/rest/using-zoom-apis/#the-me-keyword]

You can use the me keyword in place of the userId keyword in any supported API call...

Docのme keywordの説明にYou can useとありますが、今回の仕様だとme keywordを使わないといけませんでした。
userIdの箇所にZoomアカウントのメールアドレスを入れることでスタッフをホストとするミーティングが作成できると思って実装し申請をしていましたが、
meを使わないとauthorizeされないためミーティングは作成することができませんでした。

それから何度かレビューチームの担当者とのメールのやり取りをしてわかったたのですが、

me keyword を使うとAccess tokenに紐づくユーザがホストのミーティングを予約できる。

これがわかるまでかなり時間がかかりました。

関連するフォーラムのスレッド

(Possible to create meeting on behalf of another Zoom account? Share Post #20)[https://devforum.zoom.us/t/possible-to-create-meeting-on-behalf-of-another-zoom-account/2779/20?u=customers]

今回実装したアプリの追加(承認)からユーザがミーティング作成(予約)するまでの大きな流れ

  1. スタッフのZoomアカウントにアプリを追加(承認)してもらう。
  2. アプリの追加時にRefresh tokenをDBに保存する。
  3. ユーザがミーティング予約をWebアプリ上でクリック。
  4. DBに保存している対象のスタッフのRefresh tokenからAccess tokenを取得。
  5. 取得したAccess tokenを使ってミーティング作成する。
  6. ミーティング作成が成功したら参加URLをユーザに送る。同時にミーティングスタートURLをスタッフに送る。
  7. 時間になったらユーザ、スタッフがそれぞれのURLからミーティングに参加する。
GitHubで編集を提案

Discussion