コンテンツにスキップ

予定の追加

Google Apps Script には、Google カレンダーを操作するためのライブラリであるCalendarAppクラスが標準で組み込まれています。

ここではCalendarAppクラスを使用して、カレンダーに予定を追加する方法を解説します。

GAS から Google カレンダーにアクセスすることになるため、初回実行時に権限の設定が必要になります。

カレンダーに予定を追加する際、まず追加先のカレンダーを取得しておく必要があります。

カレンダーの取得方法についてはこちらをご覧ください。

イベントの追加には、以下の関数を使用します。

Calendar.createEvent([イベント名], [開始日時], [終了日時], [オプション]);
イベントを新規追加する
const CALENDAR_ID = '___対象カレンダーのID___';
function myFunction() {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
if (!calendar) {
console.log('カレンダーが見つかりませんでした');
return;
}
const from = new Date();
const to = new Date();
from.setHours(from.getHours() + 1);
to.setHours(to.getHours() + 2);
calendar.createEvent('Google Apps Scriptから追加されたイベント', from, to);
}

実行すると、実行した時刻の 1 時間後から 2 時間後までのイベントが登録されます。

第 4 引数のオプションは省略可能です。

指定できる項目は以下の通りです。

オプションの詳細
calendar.createEvent(title, from, to, {
description: 'イベントの詳細',
location: 'イベントのロケーション',
guests: 'xxx@gmail.com,yyy@gmail.com', // ゲストとして招待するメールアドレスをカンマ区切りで指定
sendInvites: false, // trueの場合、招待メールを送信する(既定値: false)
});

日付単位のイベントを追加する

Section titled “日付単位のイベントを追加する”

時間を指定せず、日付単位のイベントを追加する方法です。

イベントの追加には、以下の関数を使用します。

Calendar.createAllDayEvent([イベント名], [日付]);
日付単位のイベントを新規追加する
const CALENDAR_ID = '___対象カレンダーのID___';
function myFunction() {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
if (!calendar) {
console.log('カレンダーが見つかりませんでした');
return;
}
const date = new Date();
calendar.createAllDayEvent('Google Apps Scriptから追加された日付単位のイベント', date);
}

実行すると、実行した日の終日イベントが登録されます。引数の日付は日の部分だけが使われ、時刻は無視されます。