2016-05-27 4 views

Antwort

0

Sie müssen die startDate Parameter verwenden, um das Datum der ersten Veranstaltung in der Reihe zu bekommen (nur am Tag verwendet wird, die Zeit ignoriert wird).

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()); 

Sie können auch die Veranstaltungsreihe erhalten mit der angegebenen ID getEventSeriesById(iCalId) verwenden.

Wenn die ID für ein einzelnes CalendarEvent gegeben ist, dann wird ein CalendarEventSeries in der Serie mit einem einzigen Ereignisse zurückgeführt werden. Beachten Sie, dass, wenn die Ereignisserie zu einem anderen Kalender als dem Standardkalender gehört, diese Methode von diesem aufgerufen werden muss Calendar; Wenn Sie direkt CalendarApp.getEventSeriesById(id) aufrufen, wird nur eine Ereignisserie zurückgegeben, die im Standardkalender vorhanden ist.

Hoffe, das hilft!

0

Die andere Antwort beantwortet nicht die ursprüngliche Anfrage, die CalendarApp hat keine Methode, um das Startdatum eines wiederkehrenden Ereignisses zu erhalten. Sie sollten die erweiterte Kalender-API verwenden (muss manuell aktiviert werden, siehe unten und folgen Sie den Anweisungen)

enter image description here

dann die erweiterte API verwenden, um die gewünschten Informationen zu erhalten, (das Auto-Vervollständigen-Funktion funktioniert auf diesen Methoden Auch können Sie leicht sehen, was verfügbar ist)

Test-Code unten, beachten Sie, dass Ereignis-ID unterscheidet sich für die erweiterte Kalender-API, müssen Sie den Teil nach '@' entfernen.

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); 
} 

enter image description here

enter image description here

Verwandte Themen