2016-01-07 3 views
0

У меня есть код, который я написал и в форме Submit, создаст событие календаря для параметров. Однако я всегда получаю отказ, который возвращается по электронной почте:Создать событие календаря, сбой при отправке формы

ТипError: Не удается найти функцию createEvent в объекте Calendar. (строка 59, файл «Создать событие»). Не удается найти Календарь, я пробовал это с помощью CalendarID и CalendarName.

Любая помощь была бы признательна.

function CreateEvent(e) { 
 

 
    var Group = e.values[1]; 
 
    var startTime = e.values[2]; 
 
    var endTime = e.values[3]; 
 
    var Activitytitle = e.values[4]; 
 
    var Actlocation = e.values[5]; 
 
    var ActivityDesc = e.values[6]; 
 
    var AuthLeader = e.values[7]; 
 
    var AuthLeaderNo = e.values[8]; 
 
    var AuthLeaderPermit = e.values[9]; 
 
    var LeaderCharge = e.values[10]; 
 
    var LeaderChargeNo = e.values[11]; 
 
    var LeaderEmail = e.values[12]; 
 
    var Adults = e.values[13]; 
 
    var Beavers = e.values[14]; 
 
    var Cubs = e.values[15]; 
 
    var Scouts = e.values[16]; 
 
    var Explorers = e.values[17]; 
 
    var Other = e.values[18]; 
 
    var InTouchName = e.values[19]; 
 
    var InTouchContact = e.values[20]; 
 
    var ManagerEmail = e.values[21]; 
 
    var RA = e.values[22]; 
 
    var Rules = e.values[23]; 
 
    
 
    var title = "(Pending) " + Activitytitle; 
 
    
 
    var Actdescription = "<h2>Activity Information</h2>" + 
 
    "<b>Group:</b> " + Group + " <br/>" + 
 
    "<b>Type of Activity:</b> " + Activitytitle + " <br/>" + 
 
    "<b>Activity Date Start:</b> " + startTime + " <br/>" + 
 
    "<b>Activity Date End:</b> " + endTime + " <br/>" + " <br/>" + 
 
    "<b>Location:</b> " + Actlocation + " <br/>" + 
 
    "<b>Brief Description of Activity:</b> " + ActivityDesc + " <br/>" + " <br/>" + 
 
    "<h2>Adventurous Activities Permit Information</h2>" + 
 
    "<b>Authorised Leader:</b> " + AuthLeader +" <br/>" + 
 
    "<b>Authorised Leader Contact Number:</b> " + AuthLeaderNo + " <br/>" + 
 
    "<b>Permit Details:</b> " + AuthLeaderPermit + " <br/>" + " <br/>" + 
 
    "<h2>Attendance Details</h2>" + 
 
    "<b>Leader in Charge:</b> " + LeaderCharge + " <br/>" + 
 
    "<b>Leader Contact Number:</b> " + LeaderChargeNo + " <br/>" + 
 
    "<b>Leader Email</b>: " + LeaderEmail + " <br/>" + " <br/>" + 
 
    "<b>Number of Adults (18+):</b> " + Adults + " <br/>" + 
 
    "<b>Non Uniform YP (Under 18):</b> " + Other + " <br/>" + 
 
    "<b>Number of Beavers:</b> " + Beavers + " <br/>" + 
 
    "<b>Number of Cubs:</b> " + Cubs + " <br/>" + 
 
    "<b>Number of Scouts:</b> " + Scouts + " <br/>" + 
 
    "<b>Number of Explorers/Young Leaders:</b> " + Explorers + " <br/>" + " <br/>" + 
 
    "<h2>Health and Safety Information</h2>" + 
 
    "<b>Line Managers Email Address:</b> " + ManagerEmail + " <br/>" + " <br/>" + 
 
    "<b>InTouch Contact:</b> " + InTouchName + " <br/>" + 
 
    "<b>InTouch Contact Number:</b> " + InTouchContact + " <br/>" + " <br/>" + 
 
    "<b>Risk Assessment Completed:</b> " + RA + " <br/>" + 
 
    "<b>Scout Association POR Guidelines Followed:</b> " + Rules; 
 
    
 
    var myCal = CalendarApp.getCalendarsByName('Activity Notifications'); 
 
    Logger.log('Found %s matching calendars.', calendars.length); 
 
    
 
    myCal.createEvent (title, startTime, endTime, { 
 
    description : Actdescription, 
 
    location : Actlocation 
 
    }); 
 
    
 
}

ответ

0

Похоже, вы используете AppScript, CalendarApp.getCalendarsByName возвращает Calendar[] массив, и это причина его не удается. Найдите соответствующий календарь в массиве, а затем быстро вызовите с ним метод createEvent.

+0

Я внесла изменения в код, например, на сайт разработчика Google Class Developers. Я все еще получаю уведомление об отказе. Теперь сбой - строка 58 (регистратор). Теперь я добавил Истинное имя календаря. Извините, я не опытный кодер. – Welshdpm

+0

'calendars' не определено (что, скорее всего, является ошибкой вашего получения). Используйте 'myCal.length'. Для строки 'createEvent', попробуйте выполнить цикл или если вы знаете, что массив не пуст, вызовите' myCal [0] .createEvent (...) ' – adjuremods

+0

Не могли бы вы привести мне пример, я не могу показаться найти один в сети. – Welshdpm