[slack] スラックからPHPのプログラムを呼び出す方法

スラックには強力なAPIがありますのでそれを活用していきましょう。

まず、PHPプログラムからスラックに投稿するやり方はよく見かけますが

逆ってどうやるんでしょうとなったときにチェックしてください。

1.Outgoing WebHooksを使用する

1)「https://slack.com/apps」を開きます
2)「Outgoing」と入力します。
3)Outgoing WebHooksが自動表示されますので選択します。
4)インストールしたいチームを選んでインストールをしてください。
5)Outgoing WebHookの設定画面にて、呼び出したいPHPプログラムをURL指定すればOK!

2.コマンド送信

1)「https://slack.com/apps」を開きます
2)commandを選択します。
3)Slashコマンドが自動表示されますので
4)インストールしたいチームを選んでインストールをしてください。
5)任意のコマンドを設定して、コマンドに対応したリクエストURLを指定すればOK

3.slackアプリを作成して、アプリから「Event Subscriptions」

1)「https://api.slack.com/」を開きます
2)StartBuidingを押します。
3)CreateNewAppを押します。
4)APPnameとDelvelopmentSlackTeamを選んで下さい。
5)CreateAppを押します。
6)左メニューにある「EventSubscriptiion」を押します。
7)Enable EventsのRequestURLに呼び出すURLをしてします。

ここでポイントは、呼び出したPHPの出力結果はJsonで返すようにしてください。
以下の出力内容でOKでした。

$json = file_get_contents(‘php://input’);
var_dump($json);
exit;

8)Subscribe to Team Eventsで、slack投稿時にリクエストが発生するような
TeamEventを追加します。

Event Name Description Required Scope
message.channels

A message was posted to a channel

channels:history

POSTで受け取れるもの

$token=$_POST[‘token’];
$team_id=$_POST[‘team_id’];
$team_domain=$_POST[‘team_domain’];
$channel_id=$_POST[‘channel_id’];
$channel_name=$_POST[‘channel_name’];
$timestamp=$_POST[‘timestamp’];
$user_id=$_POST[‘user_id’];
$user_name=$_POST[‘user_name’];
$text=$_POST[‘text’];
$trigger_word=$_POST[‘trigger_word’];



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。