社会人博士学生の日常

社会人歴10年目、博士課程4年目 できごとを綴る

Line Notify×Google formで筋トレ習慣化

「毎日やるべきこと」をキチンとやったかどうか、記録するためのアプリが欲しかったけど、良さそうなのがなかなか見つからず悩んでました。 →最近LINE NotifyとGoogleカレンダーの連動でライフハックしてたのをきっかけに、「自分で作れんじゃん」ということでやってみた。

仕様

毎晩LINE NotifyくんがGoogleformのリンクを通知→早起き、筋トレができたかチェックシートとして機能すること。勝手に統計とってグラフ表示してくれるのでとても便利。データがある程度溜まってきたら、またポストしようと思います。

GAS(Google App Script)でわずか30行程度コードかくだけ。

var lineToken = "Bearer xxxx(LINE Notifyで発行したトークンID)";

function main(){
  var msg = getCalendarEvent();
  Logger.log(msg);
  if(msg !== '[info]'){
    sendHttpPost(msg);
  }
}

// Calendarから予定翌日の予定のTitleを取得し、メッセージとして返却する
function getCalendarEvent(){
  var message;
 message = 'きちんとやりきろう\n'+'グーグルフォームのURL';
  return message;
}

// LINE NotifyにHTTP POSTでメッセージを送信する
function sendHttpPost(postMassage) {
   var payload ={
     "message": postMassage
   };

   var options ={
     "method" : "post",
     "headers": {
       Authorization: lineToken,
     },
     "payload" : payload
   };
   UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
 }

これを1日1回通知する設定にする。 f:id:tatsuji16:20171012233655p:plain

実行結果はこんな感じ。

f:id:tatsuji16:20171012233830j:plain

統計がある程度溜まったら結果報告します。