GASでGoogleカレンダーの予定を取得する方法!指定期間内のイベントを抽出

予定管理やスケジュール管理でGoogleカレンダーを利用されている方も多いです。

Googleカレンダーの効率化のため、Google Apps Script(GAS)で指定した期間の予定を取得する方法を解説します。

Googleカレンダーでスケジュール管理

Googleカレンダーはスケジュール管理で多くのユーザーが利用しているクラウドカレンダーサービスです。

Googleアカウントさえあれば無料で利用でき、Gmailのメールを予定に追加が簡単にできるなど、Googleの他のサービスと連携しやすいメリットがあります。

Googleカレンダーはパソコンなどのブラウザからの利用に加え、スマホアプリでも利用できるため、デバイスフリーで自分の予定を参照できます。

仕事での予定管理だけでなく、プライベートのスケジュール管理にも役立つツールです。

Google Apps ScriptではGoogleカレンダー連携も

そんなGoogleカレンダーは、グーグルが提供しているサービスということもあり、Google Apps Script(GAS)との連携機能も用意されています。

他のスケジュール管理サービスの場合、GASで連携するにはAPIなどが必要です。

スケジュール管理サービスの中には、そうしたAPIが存在せずに、連携が困難な場合もあります。

一方GASには、Googleカレンダーと連携できるように「CalendarApp」というクラスがデフォルトで存在しています。

特に拡張対応等なしでCalendarAppクラスに実装されている各種メソッドでカレンダーを取得し、予定を参照したり、予定作成することができます。

GASプログラムを作成することで、スケジュール管理の自動化など応用が可能です。

GASでGoogleカレンダーの予定を取得する方法

Google Apps Script(GAS)を使ってGoogleカレンダーを操作するため、予定を取得する方法を紹介します。

上のように9月12日~9月18日の1週間のスケジュールが表示され、9月14日、15日、16日にイベント予定があります。

GASでGoogleカレンダーのイベント予定を取得するためには、取得する期間を設定し、その期間内のイベント一覧を取得します。

実際にGoogleカレンダーの予定を取得するGASサンプルコードを解説します。

function getCalenderEvent() {
//アクセス可能なカレンダーのIDを指定して、Googleカレンダーを取得する
let myCalendar = CalendarApp.getCalendarById('********@gmail.com');
//Googleカレンダーから取得するイベントの開始日(今日)を設定する
let startDate = new Date();
//Googleカレンダーから取得するイベントの終了日(1週間後)を設定する
let endDate = new Date();
endDate.setDate(startDate.getDate() + 7);
//開始日~終了日に存在するGoogleカレンダーのイベントを取得する
let myEvent = myCalendar.getEvents(startDate, endDate);
//forループの処理で取得したイベントの件名をログ出力する
for(let i = 0 ; i < myEvent.length ; i++ ){
console.log(myEvent[i].getTitle());
}
}

3行目のCalendarApp.getCalendarById()で引数で取得したいGoogleカレンダーのID(Gmailアドレス)を指定します。

Googleカレンダーからイベント予定を取得する開始日(startDate)と終了日(endDate)を定義します。

※サンプルコードでは開始日を今日(実行時)、終了日を1週間後を設定しています。

getEventsメソッドで開始日と終了日を指定することで、その指定した期間内の全イベント予定を取得できます。

最後にGoogleカレンダーの予定が取得できているか、イベント予定の件名をログ出力します。

実行ログを確認したところ、きちんとGoogleカレンダーのイベントが取得できています。

今回のスクリプトは9月14日の19:36に実行したため、午前中に設定した予定「GAS連携予定①」は含まれません。

このように、GASでGoogleカレンダーのイベント予定は開始日・終了日を設定して簡単に取得できます。

まとめ・終わりに

今回、Google Apps Script(GAS)でGoogleカレンダーのイベント予定を取得する方法を紹介しました。

GASにはCalendarAppクラスが用意されていて、簡単にイベント予定を取得することができます。

今回はGoogleカレンダーの予定取得のみでしたが、GASで予定を自動作成したり、予定の状態を変更することも可能です。

GoogleカレンダーのGAS利用の第一歩として、まずイベント予定を取得してみましょう。