(最終更新月:2023年4月)
Google Apps Script(GAS)を使って、Googleカレンダーからの予定を抽出し、毎朝LINEで通知する方法をご紹介します。
以下のように通知されます。
当システムで使用するのは以下のとおり。
- Googleカレンダー
- Google Apps Script
- LINE Notify
その全体像からやり方など、ステップバイステップでご説明していきます。
解説動画付きでご覧になりたい方はこちら。
Google Apps Scriptで予定をLINE通知する方法
全体像を見ていただきます。
①GoogleカレンダーのIDを取得
GoogleカレンダーのIDを取得する方法は以下のとおり。
- 設定
- カレンダー名
- カレンダーの設定 > カレンダー統合
次の「カレンダー名」がカレンダーIDです。
LINE Notifyの設定
おこなうことは以下のとおり。
- LINE Notifyと友だちになる
- LINE NotifyのAPIキーを取得する
②LINE Notifyと友だちになる方法
③LINE NotifyのAPIキーを取得する
GASによるスクリプト
材料が揃いましたので、以下の手順でGASでの開発を進めます。
- スクリプトプロパティの設定
- コードの記述
- トリガの設定
スクリプトプロパティの設定
隠したい文字列をスクリプトプロパティに設定します。
設定 > スクリプトプロパティ
コードの記述
コードには、以下2つの関数があります。
- メインの関数:トリガーで実行する
- LINE Notifyへメッセージへ飛ばす
//カレンダーから当日の予定を取得
function main() {
//LINE通知のための日付けを取得
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var day = today.getDate();
//LINE通知の1行目
var todayStr = `${year}年${month}月${day}日の予定】\n`;
//カレンダーIDの取得
var calId = ScriptProperties.getProperty('CALENDAR_ID');
var cal = CalendarApp.getCalendarById(calId);
//今日(today)の予定を取得する
var events = cal.getEventsForDay(today);
//予定をすべてリストに格納する
const strList = [];
for (var i = 0; i < events.length; i++) {
var event = events[i];
const start = event.getStartTime();
var hour = start.getHours();
var minute = start.getMinutes();
const title = event.getTitle();
var eventStr = `\n${hour}時${minute}分:${title}\n`;
strList.push(eventStr);
}
//リストを文字列化
const lineMsg = todayStr + strList.toString();
//下の関数を実行
lineToMe(lineMsg);
}
//LINE Notifyへ文字列(msg)を飛ばす
function lineToMe(msg) {
const LINE_KEY = ScriptProperties.getProperty('LINE_KEY');
const ep = "https://notify-api.line.me/api/notify";
const payload = { "message": msg };
const options = {
"method": "post",
"headers": {
'Authorization': 'Bearer ' + LINE_KEY,
},
"payload": payload
};
var response = UrlFetchApp.fetch(ep, options);
Logger.log(response);
var json = response.getContentText();
var data = JSON.parse(json);
}
トリガの設定
GASのトリガーとしては、時間主導型でおこないます。
まとめ:GASでカレンダーアプリを操作すると便利
当記事をまとめます。
- GASでカレンダーの予定を取得できる
- GASからLINE Notifyへメッセージが飛ばせる
- GASでは時間主導で関数を発動できる
Google Apps Scriptは、Googleのアプリを操作できるプログラミング言語。
うまく活用すれば、日々の生活がより便利になります。
当サイトでは、GASだけでなく、さまざまな言語を活用したアプリのご紹介をしています。
気になるものがないか、ぜひ探してみてください。