はじめまして。
長年もっぱら見る専でしたが、そろそろ何か、とりあえず備忘録としてでも残せたらと思い立ち、1つ記事を書いていきます。
きっかけ
最近Python勉強してるし、PythonでSlackのAPIとかお手軽にできないだろうか…。
Google Colabとか?いや、できないんか。Pythonは一旦置いておこう…。
何か…何か…。
え!!GASで簡単にSlack Botを?
出来らぁ!!
というわけでGASでSlack Botに手を出してみた次第です。
手順
Googleさんに聞けば先人達の知恵がたくさんあるので、細かいことは置いておき、
ざっくりと手順を書いていこうと思います。
1.GASの準備
簡単です。
Driveを開いて、左側の「+新規」
からGoogle Apps Scriptを選択するだけ。
すると、無題のプロジェクトが開きます。
ファイル
-> 名前を変更
で適当に名前をつけてDrive上にプロジェクトを保存しておく。
Getでまず試して…とかもあるけど、
今回はとりあえずお試しでPOSTされた内容だけ知りたいため、以下の内容だけ。
ファイル名はデフォルトのコード.gsのままでもOK
function doPost(e) {
return ContentService.createTextOutput(JSON.stringify(e));
}
あとは
公開
-> ウェブアプリケーションとして導入...
で
「アプリケーションにアクセスできるユーザー」を「全員(匿名ユーザーを含む)」にして導入をポチリ
GAS側はこれだけ。
※ 少しはまったこと
一度公開してから、もう一度
公開
-> ウェブアプリケーションとして導入...
を開くと、プロジェクトバージョンというものが「1」
となっている。
このプロジェクト番号はコードに変更を加えて、試したい!ってなったときに、
毎回「New」
を選択してバージョンアップし、更新ボタンで更新してやらなければ、
反映されたコードで試すことができないので注意。
2.Slack apiでApp作成
https://api.slack.com/apps
にアクセスして、Create New App
App Name
を適当に付けて、Slackのワークスペースを選択してCreate App
で新規作成。
3.Slash Commandsの作成
画面が切り替わったら、Features
のSlash Commands
からCreate New Command
で以下のように設定。
Command : 実際にSlack側で打ちたいコマンド
Request URL : 先ほどGAS側でウェブアプリケーションとして導入...
で控えておいたURL
Short Description : Slack側でコマンドを入力したときに出てくる説明
Usage Hint : コマンドの例(無くても可)
あとはSave
で完了。
4.Basic Information
スラッシュコマンドができたので
Settings
のBasic Information
で
Add features and functionality
を確認。
以下のようになっていればスラッシュコマンドができている状態。
あとはInstall your app to your workspace
のInstall App to Workspace
と進み、
ワークスペースにAppをインストールしてあげる。
5.完成!!
あとは、このjsonの内容を元にいろいろと煮るなり焼くなり…。
最後に
いろいろ検索して参考にしてまわっていじってみましたが、
シンプルにSlash CommandsでのPOSTでのレスポンスを試してみたいだけなら、一旦はこれでいいのかなと。
これを元に、今後幅を広げていけそうです。
何か間違い等あればコメントお願いします!
参考
Google Apps Script で Slack Botを作ってみた。(お勉強編)
Slash CommandsとGASでSlackのオリジナルコマンドをつくる
Slack botをGASでつくる方法で一番楽そうなやつ
初心者がGASでSlack Botをつくってみた