GASで簡単!カレンダーの日付と時間を自動取得する方法
GASを使ってGoogleカレンダーの日付と時間を自動で取得したいんだけど、どうやったらいいのかなぁ…難しそうで不安だなぁ…

猫男

catman
それならcatmanが手伝おう。GASを使えば簡単にカレンダーの日付と時間を取得できるさ。
GASでカレンダーの日付と時間を取得する方法
では早速、GASを使ってカレンダーの日付を取得してみよう。
日付と時間を取得するには、イベントを取得する必要があるんだ。
function getCalendarDates() {
var calendar = CalendarApp.getDefaultCalendar();
var today = new Date();
var events = calendar.getEventsForDay(today);
for (var i = 0; i < events.length; i++) {
Logger.log('Event: ' + events[i].getTitle());
Logger.log('Start: ' + events[i].getStartTime());
Logger.log('End: ' + events[i].getEndTime());
}
}
カレンダーのgetDefaultCalendarメソッドで初期のカレンダーを取得する。
今日はnew Date()で取得でき、getEventsForDay()を使ってその日のイベントを取得可能だ。
出力されたログを確認して、イベントのタイトル、開始時間、終了時間が取得できていれば成功さ。
へぇ〜、こんな簡単にカレンダーの情報を取れるんだ!これなら僕でもできそうだぞ!

猫男

catman
慣れれば他の日時操作もできるようになるさ。自信を持って挑んでみよう!
練習問題
あなたのカレンダーから明日以降のイベントを取得するスクリプトを書いてみよう。そして、そのイベントのタイトルと開催場所をログに出力してみよう。
解答・解説
function getTomorrowEvents() {
var calendar = CalendarApp.getDefaultCalendar();
var today = new Date();
var tomorrow = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
var events = calendar.getEventsForDay(tomorrow);
for (var i = 0; i < events.length; i++) {
Logger.log('Event: ' + events[i].getTitle());
Logger.log('Location: ' + events[i].getLocation());
}
}
このスクリプトは、日付を1日進めた日付をnew Date()で作成することによって、明日のイベントを取得している。
getLocation()メソッドを用いて、イベントの開催場所を取得可能だ。スクリプトを改良しやすいように、getEventsForDayの呼び出しに必要な日付のずらし方を工夫しても良いだろう。