Calendar API v.3 によるカレンダーアクセス (5/5)
作成:2018-05-05 10:50
更新:2018-05-05 10:50
更新:2018-05-05 10:50
■イベントを作成する
では、イベントを新たに作成しカレンダーに追加するにはどうするのでしょうか。これは、Calendar.Eventsの「insert」というメソッドを使います。
第1引数には、イベントを追加するカレンダーのIDを指定します。第2引数には、追加するイベントの情報をまとめたオブジェクトを指定します。このオブジェクトは、イベントに関する細かな値をまとめたもので、ざっと以下のような項目を用意します。
これらの中で注意が必要なのは、startとendです。これらは、値として更にオブジェクトが設定されており、その中で日時の値を用意します。
これは、イベントが特定の日時のものか、終日イベント(時間を指定せず、その日一日イベントとして扱うもの)かによって用意する値が異なるためです。用意する値は以下のようになります。
・終日イベントの場合
・終日でない場合
終日イベントでは、dateプロパティに日付の値を用意します。そうでないイベントでは、dateTimeプロパティに日時の値を用意します。
以下に、簡単な利用例を挙げておきます。実行すると、今日の終日イベントとして、「★新しいイベント★」というものを追加します。面倒臭そうですが、リストの殆どはイベントオブジェクトの定義で、実行している処理はCalendar.Events.insertの一文のみであることがわかるでしょう。
Calendar.Events.insert( カレンダーID , イベント );
第1引数には、イベントを追加するカレンダーのIDを指定します。第2引数には、追加するイベントの情報をまとめたオブジェクトを指定します。このオブジェクトは、イベントに関する細かな値をまとめたもので、ざっと以下のような項目を用意します。
{この中で必須となるのは、summary、start、endでしょう。他は省略してもイベントは作成できます。singleEventsとallDayEventは、イベントの性質に影響するものなので用意しておくべきでしょう。またlocationは、イベントに関する位置がなければ省略可です。
"summary": サマリー,
"singleEvents": 単独のイベントかどうか,
"allDayEvent": 終日イベントかどうか,
"location": 位置情報,
"start": {
日時の値
},
"end": {
日時の値
},
"colorId": 色,
}
これらの中で注意が必要なのは、startとendです。これらは、値として更にオブジェクトが設定されており、その中で日時の値を用意します。
これは、イベントが特定の日時のものか、終日イベント(時間を指定せず、その日一日イベントとして扱うもの)かによって用意する値が異なるためです。用意する値は以下のようになります。
・終日イベントの場合
"start": {
"date": 日付,
},
"end": {
"date": 日付,
},
・終日でない場合
"start": {
"dateTime": 日時,
},
"end": {
"dateTime": 日時,
},
終日イベントでは、dateプロパティに日付の値を用意します。そうでないイベントでは、dateTimeプロパティに日時の値を用意します。
以下に、簡単な利用例を挙げておきます。実行すると、今日の終日イベントとして、「★新しいイベント★」というものを追加します。面倒臭そうですが、リストの殆どはイベントオブジェクトの定義で、実行している処理はCalendar.Events.insertの一文のみであることがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function myFunction() { var calendarId = '……カレンダーID……'; var dt = new Date(); // 日付を設定 var date = dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate(); var event = { "summary": '★新しいイベント★', "singleEvents": true, "allDayEvent": true, "location": 'JR東京駅', "start": { "date": date , }, "end": { "date": date , }, "colorId": 1, }; Calendar.Events.insert(event, calendarId); }
※関連コンテンツ
「Google Apps Scriptプログラミング [中級編]」に戻る