Gdriveの変更を確認しslackへ通知するbotを利用した話
概要
Gdriveの変更をGAS(Google Apps Script)から確認し、Webhookを用いてSlackへ通知するbotを利用した。
目次
背景
私の学校では週次で時間割がデータで配布される。配布された時間割は同クラスのslackへクラスメイトの誰かが転送(スクショやデータのDLを経由)していた。
配布手段は以前までメールであったが、最近からGdriveに変更になった。しかし、毎度毎度Gdriveへ時間割を確認しに行って転送したりというのも面倒なので、解決手段を探ることとした。
大まかな前提
実現した方法
↑こちらの記事様(超ありがたい)を参考にした。
Webhookは利用したことがあったため、動作確認を省略したが、同記事にWebhookの利用方法へのリンクが記載されていた。
しかしGASの利用手順は解説されていなかったのでここに記そうと思う。
GAS利用手順
GASの利用手順としては、
- https://gsuite.google.com/marketplace/?hl=jaに行く。
- https://gsuite.google.com/marketplace/?hl=jaで「Google Apps Script」を検索し、インストールする。
- 新しいタブを開き、画面右上にアイコンで表示された「Google アプリ」を開き、「Google Apps Script」をクリックする。
- 「Start Scripting」を選択しスクリプトを書ける状態にする。
- ダッシュボードから新規スクリプトを選択し、上記の記事から適宜改変しつつコピペする
- 5で作成したスクリプトのトリガーを設定する。
で利用できた。
1 https://gsuite.google.com/marketplace/?hl=jaに行く。
↓このような画面が表示される。
2 https://gsuite.google.com/marketplace/?hl=jaで「Google Apps Script」を検索し、インストールする。
↓スペースがないと検索にヒットしないため、注意が必要。
↓Google Apps Script
3 新しいタブを開き、画面右上にアイコンで表示された「Google アプリ」を開き、「Google Apps Script」をクリックする。
↓ もっと見るを押す
↓ 新しく追加されている「Google Apps Script」を選択する
4 「Start Scripting」を選択しスクリプトを書ける状態にする。
↓ Start Scriptを選択する
5 ダッシュボードから新規スクリプトを選択し、上記の記事から適宜改変しつつコピペする。
↓「新規スクリプト」を選択する
↓ 注意として、プロジェクト名、ファイル名は何でも良いが、functionの順番はupdateMissionSheetList()を上にする。作成後は保存しておく。
6 5で作成したスクリプトのトリガーを設定する。
↓ ダッシュボードからトリガーを設定したいスクリプトの右側にある点のアイコンを選択する。
↓選択したスクリプトのドロップダウンメニューから「トリガー」を選択する。
↓トリガーを追加を選択する ↓トリガーの条件を選択する ↓上と同じくトリガーの条件を選択し、最後に保存を選択する。 ↓ 保存が完了されると新しく追加したトリガーを確認することができる。
課題
私の環境が原因かもしれないが、slackへURLが送信された際にプレビュー表示がされない。
まとめ
概ねやりたいことは実現できたので、暇があれば課題の解決にはあたろうと思う。 なにより都度確認しに行く手間が省けたのは今後の負担が減ると思うので嬉しい。 感謝です。