こんにちは。 エキサイト株式会社の三浦です。
Slackは、多くの人が使っているメッセージングアプリケーションです。 また、単に人間がメッセージを送るだけでなく、Slack APIを使うことでプログラムから自動でメッセージを送信することができます。
今回は、Slack APIからSlackにメッセージ・画像ファイルを送信する際に必要となるSlack APIの設定を説明していきます。 なおこちらは、2021年7月現在の方法となっていますので、あらかじめご了承ください。
Slack APIとは
Slack API は、使用することでSlackに対してプログラム等を通じて自動でメッセージやファイルの送信をすることができるようになる仕組みです。 弊社ではこの仕組みを使って、スプレッドシートにまとめているサービスの各種KPIをGoogle App Scriptを通じて毎朝ピックアップしてSlackに流すようにしており、ざっくりとしたサービスの数字把握に役立てています。
このSlack APIですが、使用する際に細かい権限設定をする必要があり、少し複雑です。
文字列・ファイルを送信するためのSlack APIの設定方法
まずは、 「アプリ作成」 画面に行きます。
Create New App
ボタンを押し、 From scratch
を選びましょう。
App Name
には自由な名前を、 Pick a workspace to develop your app in
では、Slack APIを使用したいworkspaceを選びます。
アプリの作成をすると、 Basic Information
というページに飛びます。
ここから、今作成した App
に必要な権限等を付与していくことになります。
権限の付与のために、 Permissions
を選択しましょう。
なお、 Incoming Webhooks
でもSlackにメッセージを送信することはできますが、ファイルの送信はできないようです。
メッセージの送信だけなら構いませんが、もしファイルも送信したいのであれば、 Incoming Webhooks
は選ばないようにしてください。
Permissions
を選択すると、左ナビの OAuth & Permissions
というページに飛びます。
下にスクロールしていくと、 Scopes
という項目があるので、そこから権限を設定していきます。
Bot Token Scopes
の権限を設定しましょう。
メッセージ送信のために chat:write
を、ファイルの送信のために files:write
を選択します。
選択後、一番上にスクロールすると Install to Workspace
というボタンがクリック可能になっているので、クリックします。
リクエストの許可を求めるページに遷移するので、許可をするとこのアプリケーションが使用可能になります。
許可をすると Bot User OAuth Token
が表示されているはずです。
ただし、この時点ではまだメッセージやファイルを送信することはできません。
最後にSlack本体にて、Slack APIを使用したいチャンネルの「ショートカット」か、チャンネル詳細の「インテグレーション」から今回作ったアプリを追加してください。
これで準備が整いました。
Bot User OAuth Token
を使った具体的なメッセージ・ファイル送信方法は今回は省略します。
こちら など、色々なところに情報が載っていると思いますので、そちらでご確認ください。
最後に
Slackの権限回りは、時間が経つと変わっている場合があります。 私も、昔やった設定方法とは異なっているような気がして少し戸惑いました。
この方法もいずれは違うやり方になっている可能性はありますが、それまでは役に立てば幸いです。