GASからGoogleカレンダーに予定を入れる方法についてです!
予定の登録を自動化できちゃうかも?!
Googleカレンダーへ単純な予定をセット
Googleカレンダーへのイベント(予定)のセットはこんな感じ。
// Googleカレンダーのデフォルトカレンダーへイベントセット function setCalendar(eventName, startDatetime, endDatetime) { const msg = "Title: " + eventName + "\n" + startDatetime + " ~ " + endDatetime; log("setCalendar: " + msg); // カレンダーオブジェクトを取得して、カレンダーにイベントを登録 const calendar = CalendarApp.getDefaultCalendar(); calendar.createEvent(eventName, startDatetime, endDatetime); }
ここでセットするのは
- 予定の名称(タイトル)
- 開始日時/終了日時
だけです。
やっていることは
- カレンダーオブジェクトを取得
- CalendarApp.getDefaultCalendar()
- イベントを生成する
- createEvent()
試してみる
function testCalendar() { const startDatetime = new Date("2020/03/15 01:00"); const endDatetime = new Date("2020/03/15 02:00"); const eventName = "3月15日だね!"; // カレンダーへ登録 setCalendar(eventName, startDatetime, endDatetime); }
実行すると例のごとく、権限の許可ポップアップが出てくるので、「許可を確認ボタン」から許可しましょう。
実行するとカレンダーへの登録と
ログ出力がされます。
[20-02-19 19:08:56:354 JST] setCalendar: Title: 3月15日だね! Sun Mar 15 2020 01:00:00 GMT+0900 (JST) ~ Sun Mar 15 2020 02:00:00 GMT+0900 (JST)
その他の要素を設定する
createEvent()に、optionsというオブジェクトを渡すことで、これらの情報もセットすることができます。
項目 | 型 | 内容 |
---|---|---|
description | String | イベントの説明 |
location | String | イベントの場所 |
guests | String | ゲストとして追加するメールアドレスリスト |
sendInvites | Boolean | 招待メール(デフォルト:送信しない[false]) |
試してみましょう。
function setCalendar2() { const startDatetime = new Date("2020/03/15 02:30"); const endDatetime = new Date("2020/03/15 03:00"); const eventName = "option入だよ"; const options = { description: "説明説明説明説明", location: "東京駅", guests: "alice@xxx.com,bob@xxx.com,carol@xxx.com", sendInvites: false }; const calendar = CalendarApp.getDefaultCalendar(); calendar.createEvent(eventName, startDatetime, endDatetime, options); }
ちゃんと情報が入っています!
参考
コチラを参考にしました。ありがとうございました!
tonari-it.com qiita.com developers.google.com
あとがき
GASからGoogleカレンダーに予定を入れる方法についてでした!
これを使えば、何かをトリガーに自動でGoogleカレンダーに予定をセットすることができますね!
登録の処理自体は、かなり簡単なので、是非試してみてください!