GASで簡単!カレンダーの日付と時間を自動取得する方法

GASを使ってGoogleカレンダーの日付と時間を自動で取得したいんだけど、どうやったらいいのかなぁ…難しそうで不安だなぁ…
猫男
猫男
catman
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
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の呼び出しに必要な日付のずらし方を工夫しても良いだろう。