『毎日コンディション』とは
毎日の調子を手軽に記録するフォーム。
毎日の記録をつけるのは大事だが、日記をつけるのはダルいし、カレンダーに書き込むのも面倒くさい。スマホで、1回2分以内に手軽にやりたいのである。
そんな希望を叶える便利なツールが『毎日コンディション』である。

こうやって毎日『LINE』に通知が来て、

アイコンをタップして「今日の調子」を入力する。

記録は『スプレッドシート』に積み上がっていくので、データが分析するのも楽。
作り方の記録
今後『毎日コンディション』をカスタムする時などに「どうやって作ったのか」がわかっていた方がやりやすいので、作った記録を残す。
LINEで『Messaging API』を作る

以下のLINEの開発者ツールで『Messaging API』を作る。
https://developers.line.biz/
The LINE Developers site is a portal site for developers. It contains documents and tools that will help you use our various developer produ...
LINEの『Messaging API bot』をグループに入れてグループIDを取得する
筆者と妻に『毎日コンディション』のフォームを送ってほしいので、上記で作った『Messaging API』のbotをLINEのグループに追加したい。
LINEのグループIDはwebhookを使わないと確認できない、非常に面倒くさい仕様なので一工夫する。以下の素晴らしい手順とスクリプトでグループIDを取得する。

GASでLINEのグループIDを確認する
Google Apps Scriptを使用して、LINEのグループIDを取得します。
function doPost(e){
varjson = JSON.parse(e.postData.contents);
varUID = json.events[0].source.userId;
varGID = json.events[0].source.groupId;
varsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(1,1).setValue(GID);
}
『Googleフォーム』でフォームを作る
『Googleフォーム』で「今日の調子」を選択するフォームを作る。アイコンは『パワプロ』のを拝借。一般公開はしないからこれでよし。

『GAS』で『Googleフォーム』のURLをLINEのグループに毎日定時で送るスクリプトを作る
ほとんどリファレンスのままの形で、任意の文字列を、任意のグループにポストするスクリプトを作る。
function sendLineMessage() {
var lineToken = 'YOUR_LINE_CHANNEL_ACCESS_TOKEN';
var formUrl = 'YOUR_GOOGLE_FORM_URL';
var message = {
'to': 'USER_LINE_GROUP_ID',
'messages': [{
'type': 'text',
'text': formUrl
}]
};
var options = {
'method': 'post',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + lineToken
},
'payload': JSON.stringify(message)
};
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', options);
}
スクリプトができたら動作確認をしてみる。いい感じ。

日付はなんとなくタイムスタンプを取得するようにしてみた。
次は、毎日定時でポストしてもらうために、『Apps Script』で「トリガー」を以下のように設定する。

これでだいたい定時に『毎日コンディション』のフォームがLINEのグループに飛んでくるようになった。


コメント