GASにて、Googleカレンダーから日時とイベントをLINEへ毎日通知するものを作りました。
動きはするものの、
カレンダーでは3つ以上イベントがあるにも関わらず1つのみ送られている状況です。
何卒アドバイスいただけたらと思います。
const LINE_NOTIFY_TOKEN = "LINEトークン***";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
const CALENDER_NAME = "カレンダーID"; //取得するカレンダー名
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');
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/14 04:21