lisz-works

プログラミングと興味を貴方に

GASからカレンダーに予定を入れる方法

【スポンサーリンク】

Google Apps Script

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);
}

ここでセットするのは

  1. 予定の名称(タイトル)
  2. 開始日時/終了日時

だけです。

やっていることは

  1. カレンダーオブジェクトを取得
    1. CalendarApp.getDefaultCalendar()
  2. イベントを生成する
    1. 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);
}

ちゃんと情報が入っています!

options付きのcreateEvenet

参考

コチラを参考にしました。ありがとうございました!

tonari-it.com qiita.com developers.google.com

あとがき

GASからGoogleカレンダーに予定を入れる方法についてでした!

これを使えば、何かをトリガーに自動でGoogleカレンダーに予定をセットすることができますね!

登録の処理自体は、かなり簡単なので、是非試してみてください!

www.lisz-works.com