『毎日コンディション』とは
毎日の調子を手軽に記録するフォーム。
毎日の記録をつけるのは大事だが、日記をつけるのはダルいし、カレンダーに書き込むのも面倒くさい。スマホで、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のグループに飛んでくるようになった。
コメント