GASでデフォルトのGoogleカレンダーにイベントを追加する簡単なスクリプト


calendar

photo credit: wuestenigel First Day of Summer Calendar via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleカレンダー、使っていらっしゃいますか?

いつでもどこでも予定の確認できますし、修正も簡単。

繰り返しの予定を入れるのも一発ですし、メンバーの招待をすれば勝手にメールを送ってくれたりします。

便利ですよね!

ただ、繰り返しではない複数の予定を入れるとき、ちょっと面倒だな~って思いません?

弊社でいうと、企業様向けの研修とか8回とか12回とかあるのですが、これをブラウザでちまちま入れていくの面倒なんです。

ということで、このシリーズでは、Google Apps ScriptでGoogleカレンダーに複数のイベントをまとめて追加するスクリプトを作っていきます。

今回はまず、Google Apps Scriptでデフォルトのカレンダーにイベントを追加する方法です。

では、行ってみましょう!

スポンサーリンク

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

本ツールでは、実行者である自分のカレンダーにイベントを追加することを想定していますので、まずはその操作対象である自分のカレンダーを取得する必要があります。

GASでは、実行者である自分のカレンダーのことを「デフォルトのカレンダー」といいます。

それで、デフォルトのカレンダーを取得する専用のメソッドとして、getDefaultCalendarメソッドという便利なやつが用意されています。

使い方はこうです。

CalendarApp.getDefaultCalendar()

戻り値はCalendarオブジェクトになります。

デフォルトのカレンダーを取得するスクリプトの例

例えば、こんなスクリプトを作って実行してみましょう。

function createEvents() {
  const calendar = CalendarApp.getDefaultCalendar();
  console.log(calendar.getName());
}

getNameメソッドはCalendarオブジェクトの名前を表示するメソッドです。

Calendarオブジェクト.getName()

実行してログを確認すると、以下のように取得したデフォルトカレンダーの名前が表示できるはずです。

デフォルトカレンダーのカレンダー名を確認する

Googleカレンダーにイベントを作成する

では、取得したデフォルトカレンダーにイベントを作成してみましょう。

イベントっていうのは、日本語でいえばいわゆる「予定」ですね。

Googleカレンダーにイベントを作成するには、createEventメソッドを使います。

書式はこちら。

Calendarオブジェクト.createEvent(イベント名, 開始時間, 終了時間, オプション)

イベントは予定の名前で文字列で指定します。

開始時間と終了時間は、Dateオブジェクトで指定します。

オプションはオブジェクト形式で、以下の項目を設定することができます。オプションは指定しなくてもOKです。

オプション 説明
description 文字列 イベントの説明
location 文字列 イベントの場所(住所など)
guests 文字列 ゲストとして追加するユーザーの電子メールアドレス(複数の場合はカンマ区切り)
sendInvites 真偽値 招待メールを送信するかどうか(デフォルトはfalse)

Googleカレンダーにイベントを追加するスクリプトの例

例えば、以下のようなスクリプトを実行してみましょうか。

function createEvents() {
  const calendar = CalendarApp.getDefaultCalendar();
  const title = '研修1回目';
  const startTime = new Date('2020/4/1 10:00:00');
  const endTime = new Date('2020/4/1 12:00:00');
  const option = {
    description: 'イントロダクション',
    location: '〒105-0011 東京都港区芝公園4丁目2−8'
  }
  
  calendar.createEvent(title, startTime, endTime, option);
}

すると、以下のようにデフォルトカレンダーにイベントを追加することができます。

GASで追加したイベント

まとめ

Google Apps ScriptでデフォルトのGoogleカレンダーにイベントを追加する方法をお伝えしました。

今回は、一つの予定をしかもスクリプト内にベタ打ちのデータをもとに作成しただけですが、次回以降これを便利ツールに変えていきますよ。

次回はスプレッドシートからイベントリストを読み取っていくところを作成していきます。

GASでスプレッドシートの入力からGoogleカレンダーに複数のイベントを追加
GASでGoogleカレンダーに複数の予定をまとめて追加するスクリプトを作成する方法をお伝えしています。今回は、スプレッドシートの値を二次元配列で取得して、複数のイベントを追加するスクリプトを作成します。

どうぞお楽しみに!

連載目次:GASでカレンダーイベントをまとめて追加するツールを作る

Googleカレンダー便利ですよね!ただ、複数のイベントをいくつも追加しなければいけないとき…少し面倒です。そんなときのための便利ツールとして、スプレッドシートの入力情報をもとにカレンダーイベントをまとめて追加するツールを作成していきます。
  1. GASでデフォルトのGoogleカレンダーにイベントを追加する簡単なスクリプト
  2. GASでスプレッドシートの入力からGoogleカレンダーに複数のイベントを追加
  3. Google Apps ScriptでDateオブジェクトの複製や時刻のセットで注意すること
  4. Google Apps Scriptで日付関連の処理を関数化する例とその際のポイント
  5. Google Apps Scriptで関数の引数を省略した場合の挙動とデフォルト値の設定方法

タイトルとURLをコピーしました