GASでGoogleカレンダーのカレンダー IDから今日の予定をGoogleスプレッドシートに一覧で表示する方法(Google Apps Script)
今回はGoogleカレンダーのカレンダー IDから今日の予定をGoogleスプレッドシートに対して出力させます。
なお、Googleカレンダーから自分の今日の予定を出力する方法・コードについては以下で解説していますので、これらはわかっている前提でお話ししますことをご了承ください。
カレンダーIDとは、Googleカレンダーの設定を押し、「カレンダーの統合」という部分に書いてあるIDになります。
社内の共有カレンダーなどからはこのようなIDが取得できるはずで、このIDがあれば予定を引っ張ってくることができます。
スプレッドシートに表示させたいIDを事前に取得しておくようにしてください。
コードの解説
冒頭で述べた通り、今回はカレンダーIDからの取得についてをメインで扱うので、そこ以外は解説しない点をご了承ください。
カレンダーIDから情報を取得するコードは以下のとおりです。
// カレンダーIDを使用してカレンダーを取得
var calendarId = 'ja.japanese#holiday@group.v.calendar.google.com';
var calendar = CalendarApp.getCalendarById(calendarId);
// 今日の日付を取得
var today = new Date();
// カレンダーの予定を取得
var events = calendar.getEventsForDay(today);
var calendarId = 'ja.japanese#holiday@group.v.calendar.google.com';
ここでは、取得したいカレンダーのIDを指定しています。
※今回は日本の祝日カレンダーのIDを使用しています。
var calendar = CalendarApp.getCalendarById(calendarId);
CalendarApp.getCalendarByIdメソッドを使用して、指定されたIDのカレンダーを取得しています。このメソッドは、指定したIDに対応するGoogleカレンダーのオブジェクトを返します。
var today = new Date();
new Date()を使って現在の日付と時刻を含む新しいDateオブジェクトを作成しています。
new Date()は、スクリプトが実行される時点での日付と時刻(年、月、日、時、分、秒)を自動的に取得します。ここでは、todayという変数にこの日付が保存されており、これを使用して現在の日の予定を取得します。
var events = calendar.getEventsForDay(today);
calendar.getEventsForDay(today)メソッドを使用して、today(現在の日付)に予定されているイベントを取得しています。
calendarは、指定されたGoogleカレンダーを参照するオブジェクトで、getEventsForDayメソッドはその日のすべてのイベント(予定)を配列として返します。
取得する日付を今日ではなく明日にする方法
現在、以下のコードで今日の予定を取得しています。
// 今日の日付を取得
var today = new Date();
// カレンダーの予定を取得
var events = calendar.getEventsForDay(today);
これを明日にする場合は以下のようにコードを変更します。
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
var events = calendar.getEventsForDay(tomorrow);
コード全体
今回のGoogleカレンダーのカレンダー IDから今日の予定をGoogleスプレッドシートに一覧で表示するコード全体は以下のようになります。
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?