【初心者向けGAS】Slackにメッセージを投稿するIncoming Webhooksの最初の一歩


hook

photo credit: www.ilkkajukarainen.fi 6Q3A2896 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。

前回の記事はこちら。

【初心者向けGAS×Slack】はじめてのSlackアプリを作成しよう
初心者のノンプログラマー向けに「Google Apps Scriptを使ってSlackをメッセージを送る」を目標にシリーズをお伝えしていきます。今回は、Slackを外部から操作するためのアプリを作成する方法です。

はじめてのSlackアプリの作り方についてお伝えしました。

ただ、Slackアプリはできたのですが、作っただけでは何もできないアプリ…実際には、アプリに何らかの機能を追加していく必要があります。

シリーズとしてはまずはSlackへのメッセージ送信を目指しますので、それを実現する「Incoming Webhook」という機能をSlackアプリで使用していきます。

ということで今回は、Slackにメッセージを投稿するIncoming Webhooksの最初の一歩について解説をしていきます。

では、行ってみましょう!

前回のおさらい

前回は、Slackアプリとは何かについてお伝えしつつ、Slack APIの「Your Apps」のページから、「天気予報さん」というアプリを作成して、その表示の設定を行いました。

Slack API: Applications | Slack

その表示設定がこちらですね。

Slackアプリの表示設定

Slack Appの「Your App」上で、引き続きアプリの機能についての設定を行うことができますので、みていきましょう。

Slackアプリに追加できる6つの機能

Slack APIの「Your Apps」を開いたところから再開しましょう。

機能を追加するアプリを選択します。

前回作成した「天気予報さん」アプリがあるはずなので、クリックして選択してください。

Slack APIのYour Appsでアプリを選択する

「Building Apps for Slack」というコーナー内の「Add features and functionality」をクリックすると展開できるので開きます。

すると、そこには「追加できる機能」が6つ並んでいます。それぞれ以下のとおりの機能になります。

  • Incoming Webhooks: Slackに外部からメッセージを投稿する
  • Interactive Components: Slackアプリによるメッセージにユーザーが操作可能なボタンを追加する
  • Slash Commands: Slackアプリを操作するためのコマンドを作成する
  • Event Subscriptions: SlackアプリがSlackでのイベントに応答するようにする
  • Bots: SlackアプリとユーザーがメッセージをやりとりするBotを追加する
  • Permissions Configure: SlackアプリがSlack APIを操作する権限を設定する

ざっと目を通して、どのようなことができるのか確認しておくと良いですね。わくわくしますね。

Incoming Webhookを使用する

このシリーズでは、「メッセージの送信」をしたいので、「Incoming Webhooks」を使用します。

Slack APIでIncoming Webhooksを選択する

Incomingは「着信」、Webhookは…なんでしょうWeb上の引っ掛けるやつ、的な感じっすかね。

Incoming Webhooksとは

「Incoming Webhooks」のページが開きますので、右上のトグルボタンを「On」にします。

すると画面下部に色々と展開されます。

Slack APIのIncoming Webhooksページ

その展開した中に、そもそも「Incoming Webhooks」とは何かということが書いてあるので、見てみましょう。。

Google翻訳サンによる直訳はこちら。

受信Webフックは、外部ソースからのメッセージをSlackに投稿するための簡単な方法です。それらはJSONペイロードを持つ通常のHTTPリクエストを利用します。それはメッセージと他のいくつかのオプションの詳細を含みます。メッセージの添付ファイルを含めて、豊富な形式のメッセージを表示できます。

つまり簡単にまとめると、以下のような仕組みです。

  • Slackに簡単にメッセージを送る方法
  • HTTPリクエストを使用する
  • HTTPリクエストにはJSONペイロードとよばれるデータを持たせる

ふむふむ…わかったようなわからないような…

Slackのワークスペース側の視点で考えるといいかもですが、HTTPリクエストをフックして着信を受けとるみたいなイメージですかね。

新しいWebhookをワークスペースに追加する

ひとまず進めてみましょう。

ページをスクロールすると下部に「Add New Webhook to Workspace」というボタンがあるのでクリックします。

直訳すると「ワークスペースに新しいWebhookを追加する」というわけですね。

Slack APIで新しいWebhookを追加する

ワークスペースでのSlackアプリによる操作を許可する

すると、以下のような画面になります。

この画面はワークスペースについて、Slackアプリによる操作(今回はメッセージの送信)を許可するための画面です。

「投稿先」のプルダウンで投稿するチャンネルを選択し、「許可する」をクリックします。

Slack APIでWebhookを許可する

Webhook URLをコピーする

「Incoming Webhooks」のページに戻ると、以下のように新たな「Webhook URL」が追加されていて、「Copy」ボタンでクリップボードにコピーできます。

後ほどGASのスクリプト内で使用しますので、保管しておきましょう。

Slack APIでWebhook URLをコピーする

Webhook URLは以下のような形式のもので、一般のURLと同じものです。

https://hooks.slack.com/services/XXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX

このWebhook URL宛に投稿するメッセージをデータとして持たせた上で「リクエスト」を送ることで、Slackにメッセージを投稿することができるのです。

つまり、GASでこのURL宛に「リクエスト」を送ることができれば、Slackの指定したチャンネルにメッセージを送ることができるというわけです。

その部分は次回進めていきますね。

まとめ

以上、Slackにメッセージを投稿するIncoming Webhookの最初の一歩についてお伝えしました。

今回作成したWebhook URLがあれば、GASからSlackへ簡単にメッセージを投稿することができます。

次回、その方法についてをお伝えしていきます。

【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。今回はSlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法です。

どうぞお楽しみに!

連載目次:はじめてのSlackアプリでメッセージを投稿する

ビジネスチャットツールSlack、使ってますか?「Slackアプリ」を使うことでGASを通じてメッセージを投稿をすることができます。このシリーズでは初心者向けにSlackアプリの作り方を解説していきます。
  1. 【初心者向けGAS×Slack】はじめてのSlackアプリを作成しよう
  2. 【初心者向けGAS】Slackにメッセージを投稿するIncoming Webhookの最初の一歩
  3. 【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
  4. 【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法
  5. GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法

  投稿者プロフィール

タカハシノリアキ株式会社プランノーツ 代表取締役
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ
★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ
★フォロー頂ければ嬉しいです。

タイトルとURLをコピーしました