イベントを作成して Google Script 経由でアクセスすると、endTime がイベントを設定した実際の日付を超えていることに気付きました。これは、イベントを取得するためにカレンダーで何日も反復するときに非常に問題になる可能性があります。
例: Google カレンダーに移動し、今日の日付の標準のデフォルトで終日のイベントを設定します。次に、次のコードを実行します。
function foo() {
var cal = CalendarApp.getDefaultCalendar();
var date = new Date();
var events = cal.getEventsForDay(date);
Logger.log("Events for today: "+date);
for (var i=0; i<events.length;i++) {
Logger.log(events[i].getTitle());
Logger.log(" "+events[i].getStartTime());
Logger.log(" "+events[i].getEndTime());
}
date.setDate(date.getDate()+1);
Logger.log("\nEvents for tomorrow: "+date);
events = cal.getEventsForDay(date);
for (var i=0; i<events.length;i++) {
Logger.log(events[i].getTitle());
Logger.log(" "+events[i].getStartTime());
Logger.log(" "+events[i].getEndTime());
}
}
出力例 (Google Script ログから):
Events for today: Wed Jul 04 2012 19:39:12 GMT+0200 (CEST)
Test
Wed Jul 04 2012 02:00:00 GMT+0200 (CEST)
Thu Jul 05 2012 02:00:00 GMT+0200 (CEST)
Events for tomorrow: Thu Jul 05 2012 19:39:12 GMT+0200 (CEST)
Test
Wed Jul 04 2012 02:00:00 GMT+0200 (CEST)
Thu Jul 05 2012 02:00:00 GMT+0200 (CEST)
OK