見出し画像

slack API 入門 (1) - Pythonによるメッセージ送信

slack API」で「Python」によるメッセージ送信を行う方法をまとめました。

1. ワークスペースの準備

slackのメッセージの送信先となる「ワークスペース」を準備します。

画像13

2. slackアプリの準備

slackのサイトで「slackアプリ」を準備します。

(1) slackの以下のサイトを開き、「Create an App」をクリック。

画像1

(2) 「App Name」と「Development Slack Workspace」を入力し、「Create App」をクリック。

画像2

・App Name : slackアプリ名
・Development Slack Workspace : slackのワークスペース

(3) 「OAuth & Permissions」を選択し、「Scopes」で権限を追加。

画像3

・chat:write : メッセージの送信。
・chat:write.customize : ユーザー名とアバターのカスタマイズ。

(4) 「Install App」を選択し、「Install to Workspace」をクリック。

画像4

(5) 「許可する」をクリック。

画像5

(6) 「トークン」をメモ。
後ほど、Pythonスクリプトで使います。

画像6

3. チャンネルへのslackアプリの追加

チャンネルにslackアプリを追加します。

(1) チャンネル名の右クリックの「チャンネル詳細を開く → インテグレーション → アプリを追加」でslackアプリを追加。

画像14

(2) 「追加」をクリック。

画像8

4. chat.postMessageの動作確認

chat.postMessage」は、メッセージを送信するAPIです。slackのテスターサイトで動作確認します。

(1) slackのテスターサイトの「chat.postMessage」を開く。

(2) 「token」に先程メモした「トークン」、「channel」にチャンネル名、「text」に送信するメッセージを指定し、「Test Method」をクリック。

画像10
画像10

結果が以下のように表示されます。

画像11

5. Pythonによるメッセージ送信

Pythonによるメッセージ送信を行います。

(1) 「pip」で「requests」をインストール。

$ pip install requests

(2) 以下のPythonスクリプトを作成して実行。
<トークン><チャネンル名>に自身のものを指定してください。

import requests

TOKEN = '<トークン>'
CHANNEL = '<チャンネル名>'

url = "https://slack.com/api/chat.postMessage"
headers = {"Authorization": "Bearer "+TOKEN}
data  = {
   'channel': CHANNEL,
   'text': 'テストです。'
}
r = requests.post(url, headers=headers, data=data)
print("return ", r.json())
画像12

パラメータは、次のとおりです。

・token : トークン
・channel : チャンネル名
・text : メッセージ
・as_user : trueの場合は差出人、falseの場合はBotが差出人となる
・username : as_user=false時のBot名
・icon_url : as_user=false時のBotアイコンのURL
・thread_ts : 返信先のスレッドID
・reply_broadcast : リプライをチャンネル全体に表示

次回




この記事が気に入ったらサポートをしてみませんか?