はじめに
鍵の管理をgoogle formとslackを使って簡単にできるようにしました。コードをコピペして簡単に実装できます。
デモは以下のリンクから見てください。
構想
研究室で鍵の状態を学生間で共有するためにslackを活用することになりました。しかし、毎回slackに時間と借りた部屋の鍵を入力するのが面倒でした。
個人情報のため一部伏せていますがこんな状態です。
送信すべき情報は、
・誰なのか
・手続きを行った時刻
・該当する部屋の番号
・鍵の状態
と決まっていたため、これらを取得して送信できるようにgoogle formを利用しました。
google formであれば、ボタンで選択することができるため、入力するより簡単に送信できます。
google formからslackへの送信するのはGoogle Apps Scriptを利用しました。
準備
まずgoogle formからslackへメッセージ送信できるようにします。
以下のサイトを参考に準備しました。
コード
以下のコードは先程の準備が完了していたら、コピペして使えます。
・回答者のメールアドレス
・回答した時間
・フォームの内容
これらが送信されるようになっています。
function onFormSubmit(event) {
// Googleフォームの回答者のメールアドレスを取得
var message = "<!everyone> " + event.response.getRespondentEmail() + "\n";
// 回答のタイムスタンプを取得して、Slackに送信するメッセージに追加する
var timestamp = event.response.getTimestamp();
var date = new Date(timestamp);
var formattedDate = Utilities.formatDate(date, "JST", "yyyy/MM/dd HH:mm:ss" + "\n");
message += "時間: " + formattedDate;
// 回答の内容を取得して、Slackに送信するメッセージに追加する
var items = event.response.getItemResponses();
for (var i = 0; i < items.length; i++) {
message += items[i].getItem().getTitle() + ": " + items[i].getResponse() + "\n";
}
// SlackのWebhook URLにPOSTリクエストを送信する
UrlFetchApp.fetch(
"webhookのURLを記入", // Webhook URLを入れる
{
"method" : "POST",
"contentType" : "application/json",
"payload" : JSON.stringify({"text": message})
}
);
}
webhookのURLだけは自分のものに置き換えてください。
おわりに
Google Apps Scriptで簡単にgoogle formとslackを接続して行うことができました。ぜひ活用してみてください。