2013-10-30 66 views
0

我想創建一個Google腳本,它允許我從多個工作表中拉事件到Google日曆,但遇到了重複的麻煩。我想我必須刪除事件之前創建新的(爲了更新),但我遇到了「無法找到方法getEventsForDay(字符串)」錯誤的問題。有什麼建議麼?谷歌腳本 - 無法找到方法getEventsforDay(字符串)錯誤

function pushToPreKCalendar(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Pre-K"); 
    var lastRow = sheet.getLastRow(); 
    var range = sheet.getRange(3,1,lastRow,100); 
    var values = range.getValues(); 
    var data = range.getValues(); 
    var cal1 = CalendarApp.getCalendarsByName("WDW FB")[0]; 
    var cal2 = CalendarApp.getCalendarsByName("WDW Latino FB")[0]; 
    var cal3 = CalendarApp.getCalendarsByName("WDW Pinterest")[0]; 
    for (i in data){ 
    var row = data[i]; 
    var title = row[0]; 
    var date = row[2]; 
    var desc = row[3]; 
    var cal = row[4]; 
    var events1 = cal1.getEventsForDay(date); 
    for (var i=0; i<events1.length;i++){ 
    var ev1 = events1[i]; 
    Logger.log(ev1.getTitle()); 
    ev1.deleteEvent(); 
    } 
    var events2 = cal2.getEventsForDay(date); 
    for (var i=0; i<events2.length;i++){ 
    var ev2 = events2[i]; 
    Logger.log(ev2.getTitle()); 
    ev2.deleteEvent(); 
    } 
    var events3 = cal3.getEventsForDay(date); 
    for (var i=0; i<events3.length;i++){ 
    var ev3 = events3[i]; 
    Logger.log(ev3.getTitle()); 
    ev3.deleteEvent(); 
    } 
     if (cal=="WDW FB") 
      var newEvent = cal1.createAllDayEvent(title, date, {description:desc}); 
     if (cal=="WDW Latino FB") 
      var newEvent = cal2.createAllDayEvent(title, date, {description:desc}); 
     if (cal== "WDW Pinterest") 
      var newEvent = cal3.createAllDayEvent(title, date, {description:desc}); 
    } 
} 

回答

0

看來,上線時出現問題:var date = row[2];date是文本類型的,或許列有一個日期類型值,但var date = row[2];返回一個字符串,那麼你需要的值轉換將日期類型row[2]作爲參數傳遞給方法getEventsForDay(date)

如果你嘗試類似:

... 
var events1 = cal1.getEventsForDay(new Date()); 
... 

不產生錯誤。

相關問題