Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
66
Help us understand the problem. What is going on with this article?
@kou_pg_0131

Slack APIを使用してメッセージを送信する

Slack API を使用してアプリを作成 ~ メッセージを投稿するまでの手順。

アプリを作成する

ワークスペースにログインしていない場合はする。

Slack API 」 から新しくアプリを作成する。

アプリ名を入力してワークスペースを選択して Create App

1.png

アプリにスコープを設定する

OAuth & Permission をクリック。

2.png

ページの中ほどに Scopes セクションがあり、ここでアプリにスコープを追加することができる。

ボットとして API を実行する際のスコープを設定する Bot Token Scopes と、ユーザーとして API を実行する際のスコープを設定する User Token Scopes がある。

3.png

まず Bot Token Scopes を設定する。

Add an OAuth Scope をクリック。

4.png

メッセージを投稿するには chat:write スコープが必要なので、追加する。

5.png

User Token Scope も同様の手順で chat:write スコープを追加する。

6.png

アプリをワークスペースにインストールする

スコープを設定すると、同じページの一番上のところで Install App to Workspace ボタンが有効になっているので、クリックする。

7.png

権限をリクエストされるので、許可する。

8.png

アプリのインストールに成功すると 2 つのトークンが生成される。

  • xoxp- から始まる OAuth Access Token (ユーザーとして API を実行するためのトークン)
  • xoxb- から始まる Bot User OAuth Access Token (ボットとして API を実行するためのトークン)

9.png

アプリをチャンネルに追加する

NOTE: ボットとして API を実行するために必要。ユーザーとして API を実行する際には不要。

メッセージを投稿したいチャンネルにアプリを追加する。
詳細 をクリック。

10.png

その他 -> アプリを追加する の順にクリック

11.png

今回作成したアプリを追加する。

12.png

メッセージを投稿する

https://slack.com/api/chat.postMessagePOST リクエストを送信することでメッセージを投稿できる。
必要なパラメータは以下。

パラメータ名 説明
token アプリをワークスペースにインストールする」 手順で生成した OAuth Token 。
channel メッセージの投稿先。 #チャンネル名 もしくは @ユーザー名
text メッセージの本文。マークダウンを使用できる。

curl コマンドを使ったサンプル

ボット用のトークンを使用してみる。

$ curl -X POST 'https://slack.com/api/chat.postMessage' \
-d 'token=xoxb-xxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx' \
-d 'channel=#slack_test' \
-d 'text=*テキスト*'

ボット(アプリ)としてメッセージを投稿できた。

13.png

ユーザー用のトークンを使用してみる。

$ curl -X POST 'https://slack.com/api/chat.postMessage' \
-d 'token=xoxp-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
-d 'channel=#slack_test' \
-d 'text=*テキスト*'

ユーザーとしてメッセージを投稿できた。

14.png

参考

66
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kou_pg_0131
Goが好き

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
66
Help us understand the problem. What is going on with this article?