シュンスケです!

 

Google Apps Scriptでカレンダーを取得する方法をご紹介します!

デフォルトカレンダーを取得する

getDefaultCalendar()

 

デフォルトカレンダーとは、Googleのアカウント設定をしたときに最初から利用可能であるカレンダーのことです!

 

●サンプルスクリプト

//デフォルトカレンダーを取得し、タイムゾーンをログに表示する
function myFunction() {
  var calendar = CalendarApp.getDefaultCalendar();
  Logger.log(calendar.getTimeZone());
}

 

●実行結果

私のデフォルトカレンダーのタイムゾーン「Asia/Tokyo」が取得できました。

※ログの表示方法:スクリプト画面「表示」→「ログ」

 

カレンダーIDで取得する

getCalendarById(id)

 

カレンダーIDとは、それぞれのカレンダー固有のIDであり、設定画面から確認することができます。

 

●サンプルスクリプト

//カレンダーIDで取得し、カレンダー名をログに表示する
function myFunction() {
  var calendar = CalendarApp.getCalendarById("p8f2t0bh0njq9rlh71dvs0d72o@group.calendar.google.com");
  Logger.log(calendar.getName()); 
}

※カレンダーIDの部分には、設定画面から取得するカレンダーのIDを確認し、入力してください!

 

●実行結果

カレンダー名である「test」が正しく取得できました。

※ログの表示方法:スクリプト画面「表示」→「ログ」

 

カレンダー名で取得する

getCalendarsByName(name)

 

カレンダー名で取得した場合は、同じ名前でカレンダーを複数作成可能であるため、カレンダーは1つとは限らない場合がある。

 

例えば、事前にカレンダー名「test」、「test」、「TEST」を用意する。

 

●サンプルスクリプト

//カレンダー名で取得し、取得数をログに表示する
function myFunction() {
  var calendar = CalendarApp.getCalendarsByName("test");
  Logger.log(calendar.length); 
}

 

●実行結果

カレンダー名の小文字と大文字を区別しないため、取得したカレンダー数「3」が取得できました。

※ログの表示方法:スクリプト画面「表示」→「ログ」

 

所有しているカレンダーを取得する

getAllOwnedCalendars()

 

所有しているカレンダーとは、
・デフォルトカレンダー
・自分が作成したカレンダー
・他のユーザから共有され、「特定のユーザとの共有:変更および共有の管理権限」設定となっているカレンダー
です。

 

次の場合、4つがその条件に当てはまります。

 

●サンプルスクリプト

//所有しているカレンダーを取得し、取得したすべてのカレンダー名をログに表示する
function myFunction() {
  var calendar = CalendarApp.getAllOwnedCalendars();
  
  calendar.forEach(function(calendar, i, array){
    Logger.log(calendar.getName());
  });
}

 

●実行結果

先ほどの条件に当てはまる4つが表示されており、所有しているカレンダーをすべて取得できました。

※ログの表示方法:スクリプト画面「表示」→「ログ」

 

所有しているor閲覧しているカレンダーを取得する

 getAllCalendars()

 

所有しているor閲覧しているカレンダーとは、一言でいうとリストにあるカレンダーすべてです!

次の場合、6つがその条件に当てはまります。

※ToDoリスト、リマインダーは含まれません!

 

●サンプルスクリプト

//所有しているor閲覧しているカレンダーを取得し、取得したすべてのカレンダー名をログに表示する
function myFunction() {
  var calendar = CalendarApp.getAllCalendars();
  
  calendar.forEach(function(calendar, i, array){
    Logger.log(calendar.getName());
  });
}

 

●実行結果

リストに表示されているカレンダーをすべて取得できました。

※「birthday」は、連絡先から取得しているため「Contacts」と表示されている!

※ログの表示方法:スクリプト画面「表示」→「ログ」

 

 

まとめ

Google Apps Scriptでカレンダーを取得する方法をご紹介しました!

このカレンダーを取得した情報をもとに、イベントの取得や追加を実施することができます!

ぜひ、お試しください!

 

以上です!