LoginSignup
1
3

More than 1 year has passed since last update.

LINE × GAS|Googleカレンダーの予定をLINEに通知

Last updated at Posted at 2022-10-06

本記事に記載のコードの中身については、全てを1から私が記載したわけではありません。あくまでも参照元に倣って自分でも作ってみて、一部改造を記録した記事です。
詳細は参照記事をご覧ください。

ゴール・完成形

▼構成イメージ
Untitled__Online_Whiteboard_for_Visual_Collaboration.png

コード
notify_Today_Schedule.gs
// スクリプトプロパティのオブジェクトを取得
  const prop = PropertiesService.getScriptProperties().getProperties();
  var LINE_NOTIFY_TOKEN = prop.LINE_TOKEN;
  var LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";


function calendarToLine() {
  var calendars = CalendarApp.getAllCalendars();
  var text = Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n";

  for(i in calendars) {
     var calendar = calendars[i];
    var events = calendar.getEventsForDay(new Date());
 
    //カレンダー名を取得する
    if( events.length > 0 ) {
      text += "" + calendar.getName() + "\n";
    }
    
    //カレンダーの内容を取得する
    for(j in events) {
      var event = events[j];
      var title = event.getTitle();
      var start = toTime(event.getStartTime());
      var end = toTime(event.getEndTime());
      text += start + ' - ' + end + " " + title + '\n';
    }
 
    if( events.length > 0 ) {
      text += "\n";
    }
  }
 
  sendToLine(text);//LINEにデータを送信する
}
 
//LINEにデータを送信する
//text:送信するデータ
function sendToLine(text){
  var token = LINE_NOTIFY_TOKEN;
  var options =
   {
     "method"  : "post",
     "payload" : "message=" + text,
     "headers" : {"Authorization" : "Bearer "+ token}
 
   };
   UrlFetchApp.fetch(LINE_NOTIFY_API, options);
}
 
//'HH:mm'に変換する
function toTime(str){
  return Utilities.formatDate(str, 'JST', 'HH:mm');
}
スクリプトプロパティ

Gカレの内容をLINE通知_-プロジェクトの設定-_Apps_Script.png

感想・今後の展望

  • 改造してオリジナリティを出したかったけど、参照先の内容が完成されすぎて、改造ができなかった。
  • あ〜、予定の取得だけでなく、予定変更があったときに変更内容をLINEに通知できたらもっと便利かも。

参照

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3