こんにちは。タレンティオの大木です。
採用管理システムのTalentioでは、オンライン面接をサポートするために、当社のサービス上でZoom Meetingを生成する機能を提供しています。
この機能を開発する過程で、OAuth AppをZoom App Marketplace に公開する必要があります。
今回は、OAuth Appの作成・公開までのプロセスと、その過程で詰まってしまったポイントを共有したいと思います。
Zoom App Marketplace とは
Zoom App Marketplaceは、Zoomが提供する開発者向けのプラットフォームです。サードパーティが開発したZoomの機能を拡張するアプリケーションやプラグインを探したり、自分が開発したアプリケーションを公開・管理したりできる場所です。
アプリケーションを公開する場合、用途に応じたタイプを選択する必要があります。
選択できるアプリの種類には、Zoom App・OAuth・JWTなどがあります。
それぞれのタイプについて簡単な説明を記載します。
- Zoom App:Zoomミーティングやチャット上で利用可能な追加機能やサービスの提供を行うことができます
- JWT:生成されたJWTを利用して、Zoom APIを使用することができます ※ 2023年9月1日からは使用不可となります
- OAuth:ユーザーの許可を得てZoomアカウントにアクセスし、アプリケーションからAPIのリクエストを送ったり、webhookのイベントを購読できます
Talentioでは、各ユーザーのZoomアカウントにアクセスして、Zoom Meetingを作成することを目的としているため、OAuthタイプを選択しました。
1. アプリケーションの作成方法
アプリケーションの作成は、Zoom App Marketplaceの管理画面から行うことができます。
アプリケーションを作成すると、認証情報が発行され、その情報をもとに開発を進めることができます。
開発を進めているとさまざまな疑問が出てくると思いますが、その際はZoom Developer Forum で質問ができます。
質問を投稿するとおおよそ1〜2営業日以内に返信が届くため、作業中に詰まってしまった際は、すぐに質問を投稿することで作業をスムーズに進められるかもしれません。
2. Zoom Market Placeへの公開申請
作成したアプリケーションを外部のZoomアカウントにインストールさせるためには、Zoom App Marketplaceへ公開する必要があります。
公開までの道のりは Zoom App Marketplace App Review Process にまとめられているステップになります。
申請時に詰まってしまったポイント
申請時に必要な対応などは、Submission Checklist にまとめられています。
これを参考に対応したものの、申請時にいくつかつまづくポイントや、審査で不合格となった箇所がありました。
1. 審査用に本番環境、あるいはそれと同等の環境の準備
Zoomのレビュアーが操作確認を行うため、今回の開発箇所を外部から操作可能な状態である必要があります。
しかし、申請時にはZoom APIを利用した機能はまだリリース前でした。
そのため、デモ環境に審査者がアクセスできるような準備をしました。
また、本番環境では非公開にしたかったため、フィーチャートグルを設けるなど、いくつかの対応を行いました。
2. 関連するページのエンドポイントは同一ドメインでなければならない
申請時には、ヘルプページや利用規約などのURLの提供が求められます。
これらのURLはリダイレクトURLに設定したドメインと一致している必要があります。
Talentioでは、サービスのドメインは talentio.com
ですが、ヘルプページや利用規約のドメインは talentio.co.jp
です。
これらのページのドメインを変更することは避けたかったため、
talentio.com/ヘルプページ
へのアクセスがヘルプページにリダイレクトされるように設定しました。
3. 利用イメージが伝わる画像の作成
アプリのアイコンや機能の使用イメージを示す画像が求められます。 明確な規定がなかったため、公開されているZoom Appを参考に画像を作成しましたが、「画像が不十分である」という理由で一度は審査に通りませんでした。
対策として、操作手順がより理解しやすいように、以下の4枚の画像に変更しました。
- Zoomとの連携設定
- Zoomとの認証
- Zoom Meetingの発行
- 作成されたZoom URLの確認
具体的な画像については、App Marketplace を参照ください。 これらの4つの画像に変更したところ、無事に審査が通りました。
4. アンインストール時の認証情報の管理
審査段階でアンインストール時の処理が適切に考慮されていないと指摘を受けました。
そのため、認証解除の通知をWebhookで受け取ると、データベースに保存していた認証情報を削除するような仕組みを設けることにしました。
該当するチェックリストの項目は、Submission Checklist に記載されています。
おわりに
今回は、OAuth Appの作成・公開までのプロセスと、その過程で詰まってしまったポイントについてご紹介しました。
この記事が、Zoom MarketplaceへのOAuth App公開に向けた参考となれば幸いです。