みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
Googleカレンダー、使っていらっしゃいますか?
いつでもどこでも予定の確認できますし、修正も簡単。
繰り返しの予定を入れるのも一発ですし、メンバーの招待をすれば勝手にメールを送ってくれたりします。
便利ですよね!
ただ、繰り返しではない複数の予定を入れるとき、ちょっと面倒だな~って思いません?
弊社でいうと、企業様向けの研修とか8回とか12回とかあるのですが、これをブラウザでちまちま入れていくの面倒なんです。
ということで、このシリーズでは、Google Apps ScriptでGoogleカレンダーに複数のイベントをまとめて追加するスクリプトを作っていきます。
今回はまず、Google Apps Scriptでデフォルトのカレンダーにイベントを追加する方法です。
では、行ってみましょう!
デフォルトのカレンダーを取得する
本ツールでは、実行者である自分のカレンダーにイベントを追加することを想定していますので、まずはその操作対象である自分のカレンダーを取得する必要があります。
GASでは、実行者である自分のカレンダーのことを「デフォルトのカレンダー」といいます。
それで、デフォルトのカレンダーを取得する専用のメソッドとして、getDefaultCalendarメソッドという便利なやつが用意されています。
使い方はこうです。
戻り値はCalendarオブジェクトになります。
デフォルトのカレンダーを取得するスクリプトの例
例えば、こんなスクリプトを作って実行してみましょう。
function createEvents() { const calendar = CalendarApp.getDefaultCalendar(); console.log(calendar.getName()); }
getNameメソッドはCalendarオブジェクトの名前を表示するメソッドです。
実行してログを確認すると、以下のように取得したデフォルトカレンダーの名前が表示できるはずです。
Googleカレンダーにイベントを作成する
では、取得したデフォルトカレンダーにイベントを作成してみましょう。
イベントっていうのは、日本語でいえばいわゆる「予定」ですね。
Googleカレンダーにイベントを作成するには、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); }
すると、以下のようにデフォルトカレンダーにイベントを追加することができます。
まとめ
Google Apps ScriptでデフォルトのGoogleカレンダーにイベントを追加する方法をお伝えしました。
今回は、一つの予定をしかもスクリプト内にベタ打ちのデータをもとに作成しただけですが、次回以降これを便利ツールに変えていきますよ。
次回はスプレッドシートからイベントリストを読み取っていくところを作成していきます。
どうぞお楽しみに!