広告

5分で出来る|Google apps scriptからカレンダーへイベントの場所・説明を登録する3つの手順

2017年12月16日

Google apps scriptからカレンダーへ「イベントの期間・場所・説明」が一括登録出来たら...

スマホやタブレットからカレンダーを見た時に、イベント詳細の確認が捗りますよね。

あひる
あひる
こ、...これは良いネ!
ううこ
ううこ
住所を設定すればGoogleMAPでリンク先を開くことも可能だ。

今回はGoogle apps scriptからカレンダーへイベントの場所・説明を登録する方法についてご紹介いたします。

Google apps scriptからカレンダーへイベントの場所・概要を登録しよう!

先ずは冒頭GIFで使用したscriptを参照ください。

//*カレンダーへ時間指定したイベントを登録*//
function options1(){
//登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('○○○@gmail.com');
//イベントの名前をnameへ格納
var name = '三峰神社へ初詣';
//イベントの開始日をstartへ格納
var start = new Date('2017/12/31');
//イベントの終了日をendへ格納
var end = new Date('2018/01/02');
/*{createAllDayEventへ追加するoptionsの中身}*/
//イベントの説明をsetumeiへ格納
var setumei = '新年のお参り';
//イベントの場所(住所)をplaceへ格納
var place = '埼玉県秩父市三峰298−1';
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(name,start,end,
{description:setumei,
location:place
});
}

前回は「期間を指定したイベント」のカレンダー登録方法をご紹介しました。

期間を指定して登録Google apps scriptからカレンダー登録|-期間指定編-

今回はさらに、イベント場所・説明」を追加した情報をGoogle apps scriptからカレンダーへ登録していきます。

あひる
あひる
いえ〜い!
ううこ
ううこ
い、いえ〜い...

Google apps scriptからカレンダーへ登録するメソッド

Google apps scriptからカレンダーへ「イベントの場所・説明」を登録するには createAllDayEvent メソッドに"options”を追加します。

createEvent ( title, startTime, endTime, options )

名前 タイプ 説明
title String シリーズのイベントのタイトル
startDate Date イベントの開始日(曜日のみ使用、時間は無視されます)
endDate Date イベントの終了日(曜日のみ使用、時間は無視されます)
options Object 以下に示す高度なパラメータを指定するJavaScriptオブジェクト
optionsの説明
名前 タイプ 説明
description String イベントの説明
location String イベントの場所

参照:createEvent

具体的には"options”の中に「description」と「location」を設定することで、イベントの場所・説明をカレンダー上に表示することが可能です。

//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(name,start,end,
{description:setumei,
 location:place
});

主な手順としては

  1. 登録するカレンダーIDを変数宣言
  2. イベント名・開始日・終了日・場所・説明を変数宣言
  3. createAllDayEventへ各変数を設置してカレンダー登録

という順で作業していきます。

あひる
あひる
ででで出来るかな...
ううこ
ううこ
(いえ〜いって言ってたじゃん)”options”の設定部分さえ理解できれば大丈夫。1つずつ解決していこう。

Google apps scriptからカレンダーへイベントの場所・説明を登録する3つの手順

手順は大きく分けて3つです。殆ど変数宣言の作業なのでそんなに難しくはありません。

手順1. getClalendarByIdで登録するカレンダーIDを変数宣言

先ずはClaendarApp.getCalendarByIdにてイベント登録先のカレンダーIDを指定します。

//登録するカレンダーIDを呼び出してeventへ格納
var event = ClaendarApp.getCalendarById('○○○@gmail.com');
名前 説明
CalendarApp カレンダーアプリを呼び出し
getCalendarById() 登録先のカレンダーを指定

参考:getCalendarById

あひる
あひる
ここは何回もやってるから覚えてきたぞ
ううこ
ううこ
そうだな。次はcreateAllDayEventへ格納するイベントへの各変数宣言をしてみよう

手順2. イベント名・開始日・終了日・場所・説明を変数宣言

次に「イベントの名前・開始日・終了日」を変数宣言して格納します。

//イベントの名前をnameへ格納
var name = '三峰神社へ初詣';
//イベントの開始日をstartへ格納
var start = new Date('2017/12/31');
//イベントの終了日をendへ格納
var end = new Date('2018/01/02');

手順2-1. イベントの場所・説明を変数宣言

同様に createAllDayEvent のoptionsに設置する「イベントの場所・説明」を準備します。

あひる
あひる
ここが今回のキモだね。
ううこ
ううこ
optionsの設定はきっちり行っておくと、カレンダーから見た時の予定の確認がかなり捗るのでオススメの設定だ。

/*{createAllDayEventへ追加するoptionsの中身}*/
//イベントの説明をsetumeiへ格納(description)
var setumei = '新年のお参り';
//イベントの場所(住所)をplaceへ格納(location)
var place = '埼玉県秩父市三峰298−1';
POINT!

「location」へ実際の住所を書き込むことで、カレンダーのイベント場所をGoogleMAPで確認することが可能です。

手順3. createAllDayEventへ各変数を設置してカレンダー登録

最後に createAllDayEvent へ先に作成した「イベントの名前・開始日・終了日・場所・説明の変数」を設置します。

今回のsampleで格納した定義

  • イベント名=name
  • イベント開始日=start
  • イベント終了日=end
  • イベントの説明=setumei
  • イベントの場所=place
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(name,start,end,
{description:setumei,
location:place
});
ううこ
ううこ
optionsの設定方法については少し分かりづらいので、図で補足しておこう。

あひる
あひる
「options」は中カッコ{}を使って、その中に"description"と"location"を設定するんだね。

ここまで全体を繋げると下記スクリプトになってます。

//*カレンダーへ時間指定したイベントを登録*//
function options1(){
//登録するカレンダーIDを呼び出してeventへ格納
var event = CalendarApp.getCalendarById('oyakudachixyz@gmail.com');
//イベントの名前をnameへ格納
var name = '三峰神社へ初詣';
//イベントの開始日をstartへ格納
var start = new Date('2017/12/31');
//イベントの終了日をendへ格納
var end = new Date('2018/01/02');
/*{createAllDayEventへ追加するoptionsの中身}*/
//イベントの説明をsetumeiへ格納
var setumei = '新年のお参り';
//イベントの場所(住所)をplaceへ格納
var place = '埼玉県秩父市三峰298−1';
//createAllDayEventでカレンダーへイベントを登録
event.createAllDayEvent(name,start,end,
{description:setumei,
location:place
});
}

実際に動かしてみると...

あひる
あひる
動いた〜やった〜!!!

イベント場所をクリックすれば、GoogleMAPで確認することが出来ます↓

※イベントの確認画面はGoogleカレンダーの新画面で試しています。

あひる
あひる
GoogleMAPキタw

GoogleMAPが開ければ場所の登録もバッチリですよね。

下記画像をクリックすればスマホにてカレンダーアプリを起動した際の、動作を確認することが出来ます。

コピペでOK!Google apps scriptでカレンダーに登録しよう!-終日編-

GASからカレンダーへイベントの場所・説明を登録する3つの手順. まとめ

無事にカレンダーへイベントの場所と説明は登録出来ましたか?

最初にご説明しましたが、まとめると

  1. 登録するカレンダーIDを変数宣言
  2. イベント名・開始日・終了日・場所・説明を変数宣言
  3. createAllDayEventへ各変数を設置してカレンダー登録

こんな感じですね。

少し createAllDayEvent の「options」の設定のところが分かりづらいかもですが、前回記事を参照して頂いている方は比較的簡単に設定できたのではないでしょうか。

次回は「スプレッドシートから一括でカレンダー登録する方法」についてご紹介させていただきます(^^)

OYAKUN
OYAKUN
スマホから場所を検索するのって意外と手間です。イベント場所のリンクからワンタップで位置情報が確認出来るのはとっても便利ですよ♪

関連記事 スプレッドシートから一括でカレンダー登録する方法

オススメ スプレッドシートで複数ある重複セルごとに色を変更する方法