ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】今日の予定を自動的にLINEに送信する方法(LINE アクセストークンの取得方法)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 指定したGoogleカレンダーの予定のみLINEに送信されます。
- カレンダーを指定する方法がわかります。
そして、こんな感じで答えてあげてください。
前回の場合、カレンダーの予定が全て送られてくるので
今回は、カレンダーを指定してみましょう。
動画
スクリプト
const LINE_NOTIFY_TOKEN = "*****あなたのトークン*****";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
const CALENDER_NAME = "new カレンダー1"; //取得するカレンダー名
function calendarToLine() {
var calendars = CalendarApp.getAllCalendars();
// var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n" ;
var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'M月d日') + "\n" ;
for(i in calendars) {
var calendar = calendars[i];
var events = calendar.getEventsForDay(new Date());
/*
//カレンダー名を取得する
if( events.length > 0 ) {
text += "■ " + calendar.getName() + "\n";
}
*/
if( calendar.getName() == CALENDER_NAME )
{
// 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');
}
ポイント
calendar.getName()
でカレンダー名を取得して
if( calendar.getName() == CALENDER_NAME )
でカレンダー名を比較しています。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】Googleカレンダーから複数のカレンダーの予定をLINEに送信する方法