PHPからslack APIでチャンネルにメッセージを送信する

slackのチャンネルにメッセージを送信する方法です。

https://api.slack.com/apps でslackアプリを作成します。
slackアプリの管理ページのメニュー「OAuth & Permissions」へ。
Scopesの「Add an OAuth Scope」で「chat:write:bot Send messages as bexa」を追加し「Update Scopes」を押します。
同ページ情報の「アプリのインストール(もう押しちゃったので正確な名称忘れた)」を押します。
確認的なページが出るので進みます。
OAuth Access Tokenが表示されるのでコピーします。

以下PHPです。slackApiKeyに先ほどコピーしたOAuth Access Tokenを入れます。
これで行けました。

$slackApiKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$text = 'テストテスト';
$text = urlencode($text);
$channel = urlencode("channel_name");
$url = "https://slack.com/api/chat.postMessage?token=" . $slackApiKey . "&channel=%23" . $channel . "&text=" . $text;
file_get_contents($url);
 
メンションを飛ばす場合は、<@user_id>と書く必要があります。
user_idはその人のプロフィールの三点メニュー(…を縦にしたやつ)で表示されるメンバーIDです(ブラウザの場合)。
 
 

カテゴリ:WEB全般 投稿日時:2020年1月17日 17:58


コメント

コメントはまだありません。

コメント投稿

ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。

ニックネーム

コメント

カテゴリ

新着備忘録

「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query

MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。

CakePHP3 CSSやjavascriptを更新したのに反映されない!

CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。

CakePHP3のタイムゾーン設定

CakePHP3のタイムゾーン設定方法です。

Thunderbirdで同じメールが何度も届く件

Thunderbirdで同じメールが何度も届く件についてです。

CakePHP3でCSV出力

CakePHP3でCSV出力する方法です。