Google SpreadSheetからGASでSlackに定期的に投稿する
ちょっとしたことを勉強している時に、単語とかすぐ忘れるので単語帳代わりにSpreadSheetに書いてたまに見たりしてるのですが、それでも忘れるのでGASでslackに定期的に投稿するようにしました。
やったことは以下。
- slackのアプリ登録
- GASでslackに投稿するようにする
- トリガーの登録
slackのアプリ登録
他のアプリ連携でもそうですが、Slackに投稿するためのアプリケーションを作成します。
Slack API: Applications | Slack
Create NewAppからアプリケーションを作成して、Bot Userに追加します。
GASでslackに投稿するようにする
GASからslackに投稿するためのライブラリみたいなのは多いと思いますが、やりたいことは定期的に投稿するだけなので、incoming webhookを使ってpostリクエストを投げるだけにします。
slackで作成したアプリケーションの画面でFeatures > Incoming Webhooks
に行って、webhookを使えるようにします。
webhookを使えるようにすると、Workspaceに追加できるようになるので追加します。追加すると、webhookのURLが表示されるので、そちらにpostリクエストを送ればslackに投稿できるようになります。
GASからhttpリクエストを送るためには、UrlFetchAppのfetchを使えばいいです。
Class UrlFetchApp | Apps Script | Google Developers
トリガーの登録
あとは定期的に実行するために、トリガーに登録します。
編集 > 現状のプロジェクトのトリガー
を選択して、トリガーを追加します。分単位・時間単位などで指定できるので大変便利です。
まとめ
さっくりGASを使って、slackに定期的に投稿できるようにしました。GAS自体はjavascriptとほとんど同じでかつ、googleのアプリケーションに接続するライブラリが内包されていてすぐに呼べるので実際ほとんど処理を書く必要がなくて大変楽です。ただ、ブラウザでコード書くのは大変なので、githubにpushしたら反映されるようにしたいなーと思ったので、次回はそのへんをやりましょうかね。