libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

Calendar API v.3 によるカレンダーアクセス (4/5)

作成:2018-05-05 10:48
更新:2018-05-05 10:48

■イベントのリストを得る

続いて、イベントです。イベントというのは、要するにカレンダーに追加する予定のことですね。

イベントの情報は、CalendarEventsというプロパティに用意されます。ここには、CalendarEventsCollectionというオブジェクトが設定されており、ここにある「list」というメソッドを使ってイベントのリストを得ることができます。
変数 = Calendar.Events.list( カレンダーID , 設定 );
第1引数には、イベントを検索するカレンダーのIDを指定します。第2引数に、取得するイベントに関する設定をまとめたオブジェクトを用意します。このオブジェクトには、ざっと以下のような値を用意しておきます。
{
    timeMin: 最小日時,
    maxResults: 最大数,
}
timeMinは、取り出す日時の値を指定します。このtimeMin以降のイベントを取り出します。maxResultsは、取り出すイベントの数です。基本的に、この2つの値があれば、イベントの検索は行なえます。

このlistの戻り値は、カレンダーイベントをまとめたオブジェクトで、その中のitemsで、イベントオブジェクトの配列を取り出すことができます。後は、ここからイベントのオブジェクトを取り出し、その情報を利用するだけです。

では、以下に利用例を挙げておきましょう。これは、今日以降のイベントを最大10コマで取り出し、イベント名と開始日を出力するものです。ここではlistでとり出したオブジェクトのitemsからイベントのオブジェクトを取り出し、以下のように出力しています。
Logger.log(event.summary + '(' + event.start.date + ')');
summaryは、イベント名に相当するものです。startは開始日時の情報で、dateは終日イベントの日付です。終日イベントでない場合は、dateの代りにdateTimeで日時を取り出せます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function myFunction(){
  var calendarId = '……カレンダーID……';
  var date = new Date(); // 今日を設定
  var settings = {
    timeMin: date.toISOString(),
    maxResults: 10,
  }
  var events = Calendar.Events.list(calendarId, settings);
  for (var i in events.items) {
    var event = events.items[i];
    Logger.log(event.summary + '(' + event.start.date + ')');
  }
}
※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る