Morikatron Engineer Blog

モリカトロン開発者ブログ

Slack APIの登録方法(2021年5月19日時点)

………………………………

★ご注意★ 本記事で紹介しているGenetralTalker APIは、その公開を終了しました。 詳しく知りたい/さわってみたい方はモリカトロン(https://morikatron.com/contact/)までご連絡ください。 ………………………………

こんにちは、モリカトロンの山田です。

前回 GeneralTalker APIを使ったSlack botの作り方 - Morikatron Engineer Blog を書いたとき、Slack APIの登録がやけに面倒だったので、画像を交えながら、登録手順を丁寧に記録しておきます。 ※2021/05/19時点での情報です。

まだSlackのアカウントをお持ちでない場合は、まずアカウントを作成してください。
アカウント作成時に「ワークスペースを作成する」ボタンや「ワークスペースを開く」などで、テスト用のワークスペースを作ってください。 ※管理者権限が必要です。

またSlack APIではホストするサーバーが必要です。
今回はテスト用のためngrokを使用して説明をさせていただきますが、 本格的に運用する際にはAWSやGoogle Cloudなどのサービスをご活用ください。
こちらが参考になるかと思います。
https://api.slack.com/docs/hosting

Slack APIの登録

それではSlack APIの登録を行っていきましょう。

  1. https://api.slack.com/apps/ の右上「Your Apps」をクリック

  2. 「Create a New App」でbotを作成

  3. 「From scratch」と「From an app manifest」の選択ダイアログが出ますので、「From scratch」を選ぶ。

  4. 「App Name」(ボットの名前=自由)と、「Pick a workspace to develop your app in:」でボットを動かすワークスペースを指定し、「Create App」をクリック。

  5. 左メニューの「OAuth & Permissions」タブをクリック。

  6. 下の方にスクロールして「Bot Token Scopes」で「Add an OAuth Scope」をクリックし下記を追加。
    一つ追加するごとにページ上方に「Success!」と出ます。

    • channels:history
    • im:history
    • chat:write
    • im:write
      「User Token Scopes」ではないのでご注意ください。
  7. 「OAuth & Permissions」タブの上方の「Install to Workspace」ボタンをクリック

  8. 「Allow」をクリックし、SlackのワークスペースにbotのAppを追加

  9. 「Basic Information」タブより「Signing Secret」をコピー。(「Show」を押すと表示されます。)
    ※後で使用するためメモしておいてください。

  10. 「OAuth & Permissions」より「Bot User OAuth Token」をコピー。
    ※こちらも後で使用するのでメモしておいてください。
    ※2021年5月現在、「User OAuth Token」と「Bot User OAuth Token」の両方が表示される場合がありますが、使用するのは「Bot User OAuth Token」ですので、取り間違えないようご注意ください。

  11. https://app.slack.com/ にアクセス。任意のチャンネルで右上方の「More」をクリックし、「Add apps」をクリック。

  12. 4で作成したApp name(ボットの名前)を選択し追加。

  13. ngrokを起動。ngrok を起動すると http://xxxxxxngrok.ioのようなURLが表示されたかと思いますので、それをコピーしてください。

  14. https://api.slack.com/ に戻り、「Event Subscriptions」タブで「Enable Events」をOffからOnにする。

  15. 13でコピーしたhttp://xxxxxxngrok.ioの後に/slack/eventsとつなげて「Request URL」にhttp://xxxxxxngrok.io/slack/eventsを入力。
    ※/slack/eventsを入力し忘れないようご注意ください。
    これで「Verified」と表示されたらOKです。
    もし「reinstall app to workspace」と表示されたら、クリックしてbotの変更を反映させてあげてください。

  16. 「Subscribe to bot events」で「Add Bot User Event」をクリックし、下記を追加。

    • message.channels
    • message.im
      追加後「Save Changes」をクリックしてください。
      ※「Save Changes」をクリックしないと設定が消えてしまうのでご注意ください。
  17. 「App Home」タブ下方の「Show Tabs」で「Message Tab」をOnにし、その下の「Allow users to send Slash commands and messages from the messages tab」にチェックを入れる。

  18. 「Install App」タブで「Reinstall to Workspace」をクリック。

以上でSlack APIの設定は完了です。