LoginSignup
6
3

More than 3 years have passed since last update.

お手軽らしいGASを使ったSlack APIのSlash Commandsを悪戦苦闘しながら作ってみた

Posted at

はじめまして。
長年もっぱら見る専でしたが、そろそろ何か、とりあえず備忘録としてでも残せたらと思い立ち、1つ記事を書いていきます。

きっかけ

最近Python勉強してるし、PythonでSlackのAPIとかお手軽にできないだろうか…。
Google Colabとか?いや、できないんか。Pythonは一旦置いておこう…。
何か…何か…。

え!!GASで簡単にSlack Botを?
出来らぁ!!

というわけでGASでSlack Botに手を出してみた次第です。

手順

Googleさんに聞けば先人達の知恵がたくさんあるので、細かいことは置いておき、
ざっくりと手順を書いていこうと思います。

1.GASの準備

簡単です。
Driveを開いて、左側の「+新規」からGoogle Apps Scriptを選択するだけ。

image.png

すると、無題のプロジェクトが開きます。

image.png

ファイル -> 名前を変更
で適当に名前をつけてDrive上にプロジェクトを保存しておく。

Getでまず試して…とかもあるけど、
今回はとりあえずお試しでPOSTされた内容だけ知りたいため、以下の内容だけ。
ファイル名はデフォルトのコード.gsのままでもOK

コード.gs
function doPost(e) {
  return ContentService.createTextOutput(JSON.stringify(e));
}

あとは
公開 -> ウェブアプリケーションとして導入...

「アプリケーションにアクセスできるユーザー」を「全員(匿名ユーザーを含む)」にして導入をポチリ

すると以下のようなポップアップが開くのでURLを控えておく
image.png

GAS側はこれだけ。

※ 少しはまったこと

一度公開してから、もう一度
公開 -> ウェブアプリケーションとして導入...
を開くと、プロジェクトバージョンというものが「1」となっている。
このプロジェクト番号はコードに変更を加えて、試したい!ってなったときに、
毎回「New」を選択してバージョンアップし、更新ボタンで更新してやらなければ、
反映されたコードで試すことができないので注意。

2.Slack apiでApp作成

https://api.slack.com/apps
にアクセスして、Create New App
App Nameを適当に付けて、Slackのワークスペースを選択してCreate Appで新規作成。

3.Slash Commandsの作成

画面が切り替わったら、FeaturesSlash CommandsからCreate New Commandで以下のように設定。
Command : 実際にSlack側で打ちたいコマンド
Request URL : 先ほどGAS側でウェブアプリケーションとして導入...で控えておいたURL
Short Description : Slack側でコマンドを入力したときに出てくる説明
Usage Hint : コマンドの例(無くても可)
image.png

あとはSaveで完了。

4.Basic Information

スラッシュコマンドができたので
SettingsBasic Information
Add features and functionalityを確認。
以下のようになっていればスラッシュコマンドができている状態。
image.png

あとはInstall your app to your workspaceInstall App to Workspaceと進み、
ワークスペースにAppをインストールしてあげる。

5.完成!!

実際にSlackでコマンドを打ってみる…
image.png

parameterから始まるjsonが返ってくれば成功!!
image.png

あとは、このjsonの内容を元にいろいろと煮るなり焼くなり…。

最後に

いろいろ検索して参考にしてまわっていじってみましたが、
シンプルにSlash CommandsでのPOSTでのレスポンスを試してみたいだけなら、一旦はこれでいいのかなと。
これを元に、今後幅を広げていけそうです。

何か間違い等あればコメントお願いします!

参考

Google Apps Script で Slack Botを作ってみた。(お勉強編)
Slash CommandsとGASでSlackのオリジナルコマンドをつくる
Slack botをGASでつくる方法で一番楽そうなやつ
初心者がGASでSlack Botをつくってみた

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3