Calendar

【GAS】Googleカレンダーに予定を追加する

createEvent – カレンダーに予定を追加する

カレンダーに予定を追加するにはcreateEventメソッドを使います。

コード

const createTestEvent = () => {
  const startTime = new Date(2024, 2, 22, 10, 0)
  const endTime = new Date(2024, 2, 22, 11, 0)
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()
  const event = defaultCalendar.createEvent('テストイベント', startTime, endTime)
  console.log(event)
}

実行結果

このように予定が追加されます。

createEventの引数

createEventメソッドは3つの必須の引数と、1つの任意の引数をとることができます。

構文

カレンダーオブジェクト.createEvent(‘予定のタイトル’, 開始日時, 終了日時, オプション)

予定のタイトルは文字列を入れる必要があります。

開始日時と終了日時は日付オブジェクトです。

オプションには以下の設定が可能です。

  • イベントの説明:description
  • イベントの場所:location
  • ゲスト:guests
  • メールを送信するかどうか:sendInvites

予定のタイトルの設定方法

このように直接文字列を入れてもいいですし、

const event = defaultCalendar.createEvent('テストイベント', startTime, endTime)


あるいは変数に入れておいても大丈夫です。

const eventName = 'テストイベント'
const event = defaultCalendar.createEvent(eventName, startTime, endTime)

開始日時、終了日時の設定方法

開始日時、終了日時はこのようにしました。

const startTime = new Date(2024, 2, 22, 10, 0)
const endTime = new Date(2024, 2, 22, 11, 0)

日付オブジェクトをつくるときはnew Date( )として、( )の中にどの日付かを指定します。

上の例ですとstartTimeは2024年3月22日10時00分、endTimeは2024年3月22日11時00分です。

月を「2」と指定しているのに3月になっているのは少し奇妙に感じられるかもしれません。

これは月が配列で表現されており、1番目を0と表現して、以降は順番となるからです。

つまりこういうことです。

  • 0:1月
  • 1:2月
  • 2:3月
  • 3:4月
  • 4:5月
  • 5:6月
  • 6:7月
  • 7:8月
  • 8:9月
  • 9:10月
  • 10:11月
  • 11:12月

createEventの引数に直接new Dateを書いても大丈夫です。

↓でもオッケー

const event = defaultCalendar.createEvent(eventName, new Date(2024, 2, 22, 10, 0), new Date(2024, 2, 22, 11, 0))

オプションの設定方法

オプションはこのように設定します。

const options = {
  description: 'テストだよ~ん',
  location: 'アリアハン',
  guests: '*****@gmail.com',
  sendInvites: true,
}

説明はdescription、場所はlocation、ゲストはguests、sendInvitesは送信メールの可否です。

この場合は説明に「テストだよ~ん」、場所に「アリアハン」、ゲストに「*****@gmail.com」、送信メールを「送る」設定にしています。

コード

const createTestEvent = () => {
  const startTime = new Date(2024, 2, 22, 10, 0)
  const endTime = new Date(2024, 2, 22, 11, 0)
  const calendarApp = CalendarApp
  const defaultCalendar = calendarApp.getDefaultCalendar()
  const eventName = 'テストイベント'
  const options = {
    description: 'テストだよ~ん',
    location: 'アリアハン',
    guests: '*****@gmail.com',
    sendInvites: true,
  }
  const event = defaultCalendar.createEvent(eventName, startTime, endTime, options)
  console.log(event)
}

実行結果

createEventを使うには

createEventを使うにはカレンダーオブジェクトを取得する必要があります。

カレンダーオブジェクトの取得方法

const calendarApp = CalendarApp
const defaultCalendar = calendarApp.getDefaultCalendar()

このコードではgetDefaultCalendarメソッドを使って自分のデフォルトのカレンダーを取得しています。

デフォルトのカレンダーとは自分のメイン(いつも使う)のカレンダーという意味です。

自分のデフォルトのカレンダー以外にしたい場合は、IDで指定したり、新規につくったりしてカレンダーオブジェクトを取得できます。


カレンダー!

Copied title and URL