カレンダーを取得する3つの方法~CalenderApp~【GAS】

GASでカレンダーの処理を自動的にすることで、予定の管理なども可能になります。
そのときに、カレンダーの取得は必須です。
この記事では、以下の3つのカレンダー取得方法について解説します。
3つの方法
①カレンダーIDで取得
②デフォルトカレンダーを取得
③所有または閲覧しているカレンダーを取得
カレンダー取得する方法は、これで全てです。
これらを場合によって使い分けることで、実装がより楽になるでしょう。
目次(クリックで読みたい部分にジャンプできます)
カレンダーIDで取得
他のGoogleアプリケーションと同様に、カレンダーにも一意で決まるIDが付与されています。
カレンダーIDの確認方法
Googleカレンダーの画面で、
IDを取得したいカレンダーの右側にある三点リーダーアイコンをクリックします。

すると、オーバーフローメニューが開くので、「設定と共有」を選択します。
設定画面の左側メニューから「カレンダーの統合」をクリックすると、
画面がスクロールしカレンダーIDを確認できます。

カレンダーIDの決まり方
ユーザーのデフォルトのカレンダーであれば、
ユーザーのGoogleアカウントのアドレス自体がカレンダーIDに。
別のカレンダーであれば、xxxxxxxxxxxx@group.calender.google.com という形式のカレンダーIDになります!
カレンダーIDを用いてカレンダを取得する
では、準備ができたので、カレンダーIDからカレンダーを取得してみましょう。
取得するには、getCalenderByIdメソッドを用います。
CalenderApp.getCalenderById(カレンダーID)
実際に使用してみると以下のようになります。
function getCalender() {
const id = "xxxxxxxxxxxx@group.calender.google.com"
const calender = CalendarApp.getCalendarById(id);
console.log(calender.getName())
}

デフォルトカレンダーを取得
では、デフォルトカレンダーを取得する方法を紹介します。
デフォルトカレンダーを取得する場合は、先ほどと大きな差はないです。
メソッドは、getDefaultCalender() を使用します。
以下のように使用します。
function getCalender() {
const calender = CalendarApp.getDefaultCalendar();
console.log(calender.getName())
}
所有または閲覧しているカレンダーを取得
ユーザーが所有するカレンダー、またはアクセス可能なカレンダーを取得するには、それぞれ以下のメソッドを用います。
使う2つのメソッド
getAllOwnedCalendars メソッド
CalendarApp.getAllOwnedCalendars();
getAllCalenders メソッド
CalendarApp.getAllCalenders();
どちらのメソッドも、取得するカレンダーが複数存在する可能性があるので、配列で返されます。
例えば、getAllCalenders メソッドで全てのカレンダーについて取得してみましょう。
function getCalender() {
const calenders = CalendarApp.getAllCalendars();
for (const calender of calenders){
console.log(calender.getName())
}
}
実行すると、アクセス可能な全てのカレンダー名がログ出力されます。

まとめ
今回は、GASでカレンダーを取得する方法について解説しました。
他にも、GASでできる様々な効率化について解説しています。ぜひ参考にしてみてください。
では、また!