PowerShell でイベントログを Slack へ送信する(1)トークンを取得する

YAGISHITA,Shigeru
本日もご安全に
6 min readJul 16, 2018

PowerShell でイベントログをメール送信できたので、

これをSlackへ転送したくなり、Zapier を使って転送していました。ところが Zapier は無償プランは月間100タスクまでという制限があります。

そこで、PowerShell から直接 Slack API を使ってイベントログを Slack にメッセージしてみます。

PowerShell から Slack API を呼び出す前に、Slack APIを呼び出すためにトークンを取得しなければなりません。ひとまずトークンを取得してトークンのテストをしましたので、その記録です。

トークン取得方法

いろいろ調べてみると以下のような方法が出てきます。

ところがもっとよく検索すると上にあるようなよく出てくる方法は非推奨の古い方法とのこと。

というわけでSlackアプリを作らないといけないらしいので、Slackアプリを作ります。

Slackアプリを作る

https://api.slack.com にアクセスしてアプリ作成を開始します。

https://api.slack.com にアクセスし Start Building ボタンを押す。
Create an App ボタンを押す
Create a Slack App ダイアログが開くのでアプリ名を付けて、ワークスペースを選択して、Create Appボタンを押す。
Basic Information ページが表示されます。

アプリのパーミッションを設定する

アプリにパーミッションが設定されていないとアプリをインストールできないとのこと(まあ、そりゃそうだ)なので、パーミッションを設定します。

左ペインの OAuth & Permissions をクリックしてOAuth & Permissions ページを表示。 下にスクロールすると…。
Scopes というセクションがあるので Select Permission Scopes から選択。
メッセージを送信したいので、とりあえず Send messages as アプリ名 を選択しました。CONVERSATIONS に追加されるので、Save Changes をクリック。

アプリをワークスペースにインストールしてアクセストークンを取得する

アプリにパーミッションを設定したので、アプリをワークスペースにインストールします。

左ペインの Install App をクリックして Install App to Your Team ページを表示。Install App to Workspace をクリック。
アクセス許可を求めるページが出るので「許可する」をクリック。
タイトルが Installed App Settings に変わった左ペイン Install App からアクセスできるページに戻り、OAuth アクセストークンが表示される。

これでアクセストークンが取得できました。

トークンが使えるかテストする

以下のURLにアクセスしてテストする。トークンは取得したトークン、チャンネルはワークスペースのチャネルを指定。

https://slack.com/api/chat.postMessage?token=xoxp-xxx-xxx-xxx-xxx&channel=general&text=Hello%20World

メッセージが送信されていて

ok と返ってきていればテストOK。

{"ok":true,...

これで 下準備が完了したので、次回、PowerShell から Slack へメッセージを送信してみます。

--

--

YAGISHITA,Shigeru
本日もご安全に

一応ファイターズファンであるものの札幌移転でFに関係なくパ観戦。小川皓市の小川皓市的こころ。川名コーチ/北見運送/システム開発者/WPF/Windows Phone/中田ヤスタカにやられてる/954深夜/お笑い/赤い電車。精神年齢15でアラフォー。なにしてんだろ。