ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】Googleカレンダーから指定したカレンダーの予定をLINEに送信する方法
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- GASのif内でOR条件を指定する方法がわかります。
- 指定した複数のカレンダーの予定をLINEに送信する方法がわかります。
なので、サクッとマスターして
と答えてあげてください。
前回は、カレンダーを指定しましたが、今回はさらに複数のカレンダーを
指定します。
動画はこちら
カレンダーの定義を増やして、カレンダーを比較している箇所に追加すればOKです。
スクリプト
複数のカレンダーを指定
function ortest() {
// 自分のカレンダーが4種(マイカレンダー)と、
// 共有しているカレンダー(他のカレンダー)が2種あるのですが、
// このうちマイカレンダー3つと他のカレンダー1つをLINEに通知したい場合は
const CALENDER_NAME1 = "マイカレンダー1" //取得するカレンダー名
const CALENDER_NAME2 = "マイカレンダー2" //取得するカレンダー名
const CALENDER_NAME3 = "マイカレンダー3" //取得するカレンダー名
const CALENDER_NAME4 = "他のカレンダー" //取得するカレンダー名
let calendar_getName = "マイカレンダー4" //カレンダーから取得したカレンダー名(calendar.getName())
if ((calendar_getName == CALENDER_NAME1) ||
(calendar_getName == CALENDER_NAME2) ||
(calendar_getName == CALENDER_NAME3) ||
(calendar_getName == CALENDER_NAME4)) {
console.log("LINEに送信する")
}
else {
console.log("LINEに送信しない")
}
}
全体のスクリプト
const LINE_NOTIFY_TOKEN = "*****あなたのトークン*****";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
// const CALENDER_NAME = "new カレンダー1"; //取得するカレンダー名
const CALENDER_NAME1 = "マイカレンダー1" //取得するカレンダー名
const CALENDER_NAME2 = "マイカレンダー2" //取得するカレンダー名
const CALENDER_NAME3 = "マイカレンダー3" //取得するカレンダー名
const CALENDER_NAME4 = "他のカレンダー" //取得するカレンダー名
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_NAME1) ||
(calendar.getName() == CALENDER_NAME2) ||
(calendar.getName() == CALENDER_NAME3) ||
(calendar.getName() == CALENDER_NAME4)) {
// 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');
}
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】Googleカレンダーの予定を曜日付きでLINEに送信する方法
コメント