2013-07-01 67 views
4

我想使用谷歌Apps腳本createAllDayEvent(title, date)創建一整天的谷歌日曆,但只有一個日期參數,所以我只能創建一個一天阿迪谷歌日曆。如何使用Google Apps腳本創建兩天AllDay事件?

現在我需要創建2天阿迪谷歌日曆(e.g.:from 2013年6月28日至2013年6月29日),我該怎麼辦?

感謝您的幫助!

回答

3

您需要使用createAllDayEventSeries(),它接受一個Recurrence參數。

var recurrence = CalendarApp.newRecurrence().addDailyRule().times(2); 
var eventSeries = CalendarApp.getDefaultCalendar().createAllDayEventSeries('My All Day Event', 
    new Date('June 28, 2013'), 
    recurrence, 
    {guests: '[email protected]'}); 
Logger.log('Event Series ID: ' + eventSeries.getId()); 
+0

謝謝!但爲什麼Google日曆的重複複選框被選中?如果您使用Google日曆創建兩天AllDay日曆,則無需選擇重複複選框。 – Shelley

+0

我試過,但日子沒有連接,所以我用cal.createEvent(title,start,end); – luissquall

0

不能添加創建多天「全天」事件通過CalendarApp類跨越多天。您必須通過高級Google服務使用Google日曆API來完成此操作。

1)爲腳本啓用日曆API 在Google腳本頁面上,轉至菜單項「資源」→「高級Google服務」。打開日曆API(當前爲v3)。

2)啓用通過谷歌API控制檯 從高級谷歌服務頁面上,服務,按照鏈接到API控制檯。點擊「+啓用API」。選擇「日曆API」,然後啓用它。

3)使用下面的代碼片段(它創建了一個爲期兩天的跨度,全天事件)爲例

var calId = '##########################@group.calendar.google.com'; 
var event = { 
      "summary":"Summary", 
      "location":"Location", 
      "description":"Description", 
      "start":{ 
         "date":"2017-06-03" 
        }, 
      "end":{ 
        "date":"2017-06-05" 
        } 
      }; 
Calendar.Events.insert(event,calId); 

// You can check how the events are stored below 
var events = Calendar.Events.list(calId, {timeMin: (new Date(2017,5,2)).toISOString(), 
              timeMax: (new Date(2017,5,10)).toISOString(), 
              maxResults: 2500}); 

你會注意到,上面的代碼將產生一個全天事件6月3日至6月4日(結束日期基本爲2017-06-05T00:00:00)。

您還可以添加其他事件屬性,在Calendar API/Events/insert頁面上有一些記錄。使用Calendar.Events.list獲取事件列表會給你一個想法。

如果你看一下日曆API事件,你會注意到,有很多的重疊與iCal的規範。

相關問題