はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【GAS】Slack APIを用いてSlackにメッセージを投稿する

はじめに

今回はSlack APIを使ってSlackにメッセージを投稿してみる記事になります!

最近はslackの通知をlineに飛ばせるプログラムを作ってみたい!ということでGASを触っています。詳しくは以下の記事に書かせていただきました。
【GAS】Google Apps Scriptを初めて触ってみた - はなちるのマイノート

そこでとりあえずSlack APIに慣れようということで、一番簡単そうな「Slackにメッセージを投稿する」ということを最初にやっておこうと思います。

では早速いきましょう!

Slack API

まずはSlack APIのページを開きましょう。

f:id:hanaaaaaachiru:20191026121731p:plain

ぱっと見た感じ日本語対応はしていないようですね。少し辛いですが英語でいきましょう。


右上のボタンからYour Appsというボタンを押してください。

f:id:hanaaaaaachiru:20191026122556p:plain

ここで言うアプリとは外部のサービスやツールとSlackを連携させるソフトウェアのことみたいです。

Create Appで新しいアプリを作成します。

f:id:hanaaaaaachiru:20191026122755p:plain

この画面がでてきたら、「作成するアプリの名前」と「対象のワークスペース」を決めてCreate App

f:id:hanaaaaaachiru:20191026124554p:plain

Incoming Webhookを使う

少し下にスクロールをすると、「Add features and functionality」という欄があるはずです。

f:id:hanaaaaaachiru:20191026125028p:plain

この6つの項目がありますが、それぞれ追加できる機能が異なります。

今回はSlackにメッセージを送るということで、Incoming Webhookを選択してください。

そして右上のOffと書かれているトグルをクリックすればIncoming Webhooksが使えるようになります。

f:id:hanaaaaaachiru:20191026164345p:plain

ただもう一つだけ設定をするところがあります。

一番下にあるWebhook URLのとこりにあるAdd New Webhook to Workspaceをクリックして設定しましょう。

f:id:hanaaaaaachiru:20191026165714p:plain

すると許可を求められますので、対象のチャンネルを設定して許可しましょう。

f:id:hanaaaaaachiru:20191026171830p:plain

そうすることでURLが作成されます。こちらのURLにHttpリクエストすることでSlackにメッセージが投稿できるという訳ですね。

こちらのURLをコピーして実際にGASでメッセージを投稿してみましょう。

f:id:hanaaaaaachiru:20191026172134p:plain

GASからメッセージを投稿する

以下のコードをGASに書き込み実行します。

スクリプト作成から実行までの手順が分からない場合はこちらの記事を参照してみてください。
【GAS】Google Apps Scriptを初めて触ってみた - はなちるのマイノート

function postMessage() {
  var url = '先程作成した自身のWebhook URLを書き込んでください';
  var params = {
    method: 'post',                      //HttpリクエストのPostメソッド
    contentType: 'application/json',     //送るコンテンツの種類(Json)
    payload: '{"text":"Hello, World!"}'  //送るJson
  };
  UrlFetchApp.fetch(url, params);
}

これを実行してみると…。

f:id:hanaaaaaachiru:20191026173635p:plain

さいごに

GASでは特定の日付になったりなどのなにかしらのイベントをきっかけにスクリプトを実行することができるので、これを応用すれば色んな面白いものが作れると思います。

夢が広がりますね!