SlackアプリをApp Directoryに公開した
エンジニアの皆さんが普段使っているツール(多分、、)Slack内にアプリを公開したので、
その際の所感をまとめたいと思います。
Slackアプリの開発方法などは、qiitaにも多く乗っていますが、App Directoryへの公開手順などはあまり乗っていないのでいい機会だと思い投稿します。
また、開発や申請部分で個人的に詰まった部分も載せます。
個人的に詰まった部分(困った点)
まず、日本語の公式ドキュメントがそこまで多くない。(あるある)
まぁ、日本語のドキュメントが完璧にあってもねぇ、、
(英語のドキュメントの方で再確認するから問題ではないか)
でも、Slack developer向けのSlackコミュニティがあるので英語未対応の方もご安心を
(リンク忘れちゃった😩)
App Directoryへの申請時には英語が必要になる。
基本的に、App Directoryに申請する際は、SlackのUSの方と会話する必要があります。😭
なので、基本英語での対応が必要です!
リクエスト署名の確認
アプリ側のエンドポイントでこのリクエストが本当にSlackから来たのかを確認する必要があります。
簡単に説明すると、timestampとリクエストのpayloadをHMACSHA256でいい感じにしてそれを
header内のX-Slack-Signature
に格納されている情報と比較して検証します。
詳しくはこちら,公式ドキュンメント
この検証に、リクエストの生のpayloadを使用するのですが、ここで引っ掛かりました。。
自身が使っているフレームワークでは、直接生のpayloadを取得することが出来ず、フレームワークが使いやすく整形してくれたpayloadを元のpayloadに戻すという作業が必要でした。😢
Slackアプリのoauth scopeが変わる。
アプリを公開する際に、アプリが使用許可をユーザーに得る権限が必要です。
その際に、scopeを設定します。これが、途中で変わりました。
認証が細かく管理されることは望ましいですが、アプリ公開後に変わってくれよ〜😵という気分でした。
変更点をまとめている記事は以下です。
https://medium.com/slack-developer-blog/how-to-upgrade-your-slack-oauth-scopes-96f1eb6e5bc8
Slackのチャンネル、ユーザー、ファイル、アプリなどのIDが11文字へ
アンドキュメントな情報ではありますが、上記のIDは、基本的にPrefix1文字を含む9桁でした。
が、今後は11桁に変更になるようです。
自身は9桁ありきで作成していなかったですが、9桁ありきで開発してしまっていた人は注意です。
*11桁ありきで開発する意図ではないです。
https://twitter.com/SlackAPI/status/1238519158012182528
アプリの公開には、アプリインストール用のランディングページが必要になる。
これが一番盲点でした。
App Directory以外にSlackアプリの説明ページが必要となります。💪🏻
自社のHPや製品ページにWebページを作成する必要があります。
App Directoryへ公開する際に行うこと。
アプリが使用する権限を設定&説明する。
アプリが使用する権限を設定します。
それに加えて何故このアプリがこの権限を必要とするかを説明する必要があります。😇
Slackの人がサービスを検証できるよう情報を提供する。
ユーザー情報などが必要な場合には、検証用のユーザー情報を提供する必要があります。
また、どの操作を行うとどういうことができると言った情報も。
申請が弾かれたら修正する。
初めての申請で一回で通ることの方が少ないと思います。👍
アプリの説明が少ない、必要な情報が足りてない、動かないなど様々だとは思いますが修正して再度申請をあげましょう。
出来る限りアプリ名は英語へ(神経質な人は)
App Direcotry上のURLが以下のように多分ふられます。
https:/slack.com/apps/hogehoge-{アプリ名}
ですが、日本語はアプリ名で弾かれます。
例えば、アプリ名がキータ for Slackだと以下です.
https:/slack.com/apps/hogehoge--for-slack
↑-が連続であるのが個人的には気になります。。
なので、出来るだけアプリ名は英語にした方が個人的には良いかと思います。
最後に
App Directoryへ申請を行いましたが、他のアプリへの申請に比べるとそこまで大変なものではないと思います。
申請だけで3~4ヶ月かかるようなものもありますが、Slackは頑張れば1~2週間程度で申請を行えると思います。
なので、皆さんも自身が作成したものをApp Direcotryへ公開してより便利にSlackを利用できるようにしていきましょう。