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利用の第一歩として、まずイベント予定を取得してみましょう。
ディスカッション
コメント一覧
まだ、コメントがありません