やさごろもです。
以前、LINE Notifyを使ってGoogleフォームの回答が送信されたらLINEのグループに通知する方法を紹介しました。今回は同様にGoogleカレンダーに登録されている予定をLINEに通知する方法を紹介しようと思います。
Googleカレンダーの予定をLINEに送信する
今日の予定と、今日から1週間分の予定を取得する設定をしていきます。
1.LINEでグループを作る
アプリのLINEを起動して、Googleカレンダーの予定を送るためのグループを作ります。
2.Line Notifyでトークンを発行する
LINEに登録しているアカウントでLINE Notifyのページにログインし、トークンを発行します。発行の仕方については前回の記事を参考にしてください。トークンを発行した後は作ったグループにLINE Notifyのアカウントを招待してください。
Googleフォームの回答通知をLINEで受け取る
3.Google Apps Script でコードを記述する
chromeアプリの「Google Apps Script」を開きます。無い場合はchromeのウェブストアから取得してください。

アプリ Google Apps Script
開いたら下記コードを貼り付けます。
var lineToken = "ここに発行したトークンを貼る";
function main() {
var calendar = CalendarApp.getDefaultCalendar();
var text = "\n";
var date = new Date();
var y = date.getFullYear();
var m = date.getMonth();
var d = date.getDate();
var TodayEvent = calendar.getEventsForDay(date);
var WeekEvents = calendar.getEvents(date,new Date(y,m,d + 7));
text += "\n【今日の予定】\n";
if( TodayEvent.length > 0 ) {
for(i in TodayEvent) {
var event = TodayEvent[i];
var title = event.getTitle();
var start = Utilities.formatDate(event.getStartTime(), "JST", "MM/dd")
text += start + " " + title + '\n';
}
}else{
text += "予定無し\n";
}
text += "\n【1週間の予定】\n";
if( WeekEvents.length > 0 ) {
for(j in WeekEvents) {
var event = WeekEvents[j];
var title = event.getTitle();
var start = Utilities.formatDate(event.getStartTime(), "JST", "MM/dd")
text += start + " " + title + '\n';
}
}else{
text += "予定無し\n";
}
sendToLine(text);
}
function sendToLine(text){
var token = lineToken;
var options =
{
"method" : "post",
"payload" : "message=" + text,
"headers" : {"Authorization" : "Bearer "+ token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
わたしはカレンダーを1つしか作っていなかったので
var calendar = CalendarApp.getDefaultCalendar();
参考 Googleカレンダーにアクセスする (2/5)初心者のためのGoogle Apps Scriptプログラミング入門
var TodayEvent = calendar.getEventsForDay(date);
var WeekEvents = calendar.getEvents(date,new Date(y,m,d + 7));
var event = TodayEvent[i];
var title = event.getTitle();
var start = Utilities.formatDate(event.getStartTime(), "JST", "MM/dd")
4.トリガーを設定する
上部メニューの「編集」→「現在のプロジェクトのトリガー」を開いて、トリガーを追加します。
わたしは下記設定にしました。お好みの時間を設定してください。
- 実行する関数 → main
- イベントのソース → 時間主導型
- 時間ベースのトリガーのタイプ → 日付ベースのタイマー(例)
- 時刻 → 午前7時〜8時(例)
5.実行
これで設定した時間になればLINEが届くはず。

LINEの画面
(手動実行したので設定した時間とは異なってます)
y(Year)に1を足せば1年分、m(Month)に1を足せば1ヶ月分の予定を取得することができます。好きな期間を設定してください。
ちなみに自動で毎週入れている予定があると全部列挙され、とんでもない長文ラインが届きました。ご注意ください。
ではまた。