カレンダー内に誕生日がイベントシリーズとして存在する人の年齢を計算したいと思います。これを行うには、このシリーズの最初のイベントを知る必要があります。それは、実際のイベントからシリーズの最初のイベントを取得する方法です。Google Apps Script:カレンダーサービス:CalendarEventSeriesの最初のイベントを検索
おかげ ロニー
カレンダー内に誕生日がイベントシリーズとして存在する人の年齢を計算したいと思います。これを行うには、このシリーズの最初のイベントを知る必要があります。それは、実際のイベントからシリーズの最初のイベントを取得する方法です。Google Apps Script:カレンダーサービス:CalendarEventSeriesの最初のイベントを検索
おかげ ロニー
あなたはシリーズの最初のイベントの日付を取得するためにstartDate
パラメータを使用する必要があります(日のみが使用されているが、時間は無視されます)。
var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('No Meetings',
new Date('January 2, 2013 03:00:00 PM EST'),
CalendarApp.newRecurrence().addWeeklyRule()
.onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
.until(new Date('January 1, 2014')));
Logger.log('Event Series ID: ' + eventSeries.getId());
getEventSeriesById(iCalId)
を使用して、指定したIDのイベントシリーズを取得することもできます。
与えられたIDが単一
CalendarEvent
のためであれば、CalendarEventSeries
は、シリーズの一つのイベントで返されます。イベントシリーズがデフォルトのカレンダー以外のカレンダーに属する場合は、このメソッドをCalendar
から呼び出す必要があります。CalendarApp.getEventSeriesById(id)
を呼び出すと、デフォルトカレンダーに存在するイベントシリーズのみが直接返されます。
他の回答は実際には最初のリクエストには答えませんが、CalendarAppには定期的なイベントの開始日を取得する方法がありません。 あなたは、高度なカレンダーのAPIを使用する必要がありますオートコンプリート機能では、これらの方法で動作します(、
は、その後、必要な情報を取得するために、高度なAPIを使用します(手動で有効にする必要があり、以下を参照し、指示に従ってください)利用可能なものが簡単にわかるように)
次のテストコードでは、高度なカレンダーAPIのイベントIDが異なるので、 '@'の後にその部分を削除する必要があります。
function createTestEvents() {
var recurrence = CalendarApp.newRecurrence().addWeeklyRule().times(10);
var testEvent = CalendarApp.getDefaultCalendar().createEventSeries('test event serie', new Date('2016/05/10'), new Date(new Date('2016/05/10').getTime()+12*3600000), recurrence);
var id = testEvent.getId();
Logger.log('Event Series ID: ' + id);
viewTestEvent(id)
}
function viewTestEvent(id){
var event= CalendarApp.getDefaultCalendar().getEventSeriesById(id);
var calId = CalendarApp.getDefaultCalendar().getId();
Logger.log('event title = '+event.getTitle());
var AdvanncedId = id.substring(0,id.indexOf('@'));
Logger.log('AdvanncedId = '+AdvanncedId);
var testEvent = Calendar.Events.get(calId, AdvanncedId);
Logger.log('testEvent start = '+ testEvent.start);
return testEvent;
}
function test(){ // a few examples of what you can retrieve...
var event = viewTestEvent('[email protected]');
Logger.log('\n\nstart = '+event.start);
Logger.log('\n\ncreated on = '+event.created);
Logger.log('\n\nend on = '+event.end);
Logger.log('\n\nrecurrence = '+event.recurrence);
}