2015-04-29 5 views
0

Хорошо, во-первых, то, что я пытаюсь сделать, это обновлять листы Google и календарь одновременно. Итак, скажем, если в вашей таблице будет обновление, в календаре также будет обновление. Однако, вот все, чего я не смог сделать.Электронная таблица Google и календарь приглашают гостей

  1. Если есть изменения в календаре, не будет никаких изменений в таблицу
  2. Я не могу найти код пригласить гостя в календарь. До сих пор все, что я знаю, это то, что мне нужно использовать «attendee []», но я не могу найти пример, чтобы показать мне, как это делается. Я нашел некоторый код Java, но его разные, если я не ошибаюсь.

Таким образом, это будет для таблицы

Дата Название Время начала Время окончания Место Описание Гостевой EventID

порядок Это один код на Google листов.

function onOpen() { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var entries = [{ 
    name : "Export Events", 
    functionName : "exportEvents" 
    }]; 
    sheet.addMenu("Calendar Actions ", entries); 
}; 


function exportEvents() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var headerRows = 1; 
    var range = sheet.getDataRange(); 
    var data = range.getValues(); 
    var calId = "[email protected]"; // calenderID 
    var cal = CalendarApp.getCalendarById(calId); 
    for (i in data) { 
    if (i < headerRows) continue; 
    var row = data[i]; 
    var date = new Date(row[0]); 
    var title = row[1];   
    var tstart = new Date(row[2]); 
    tstart.setDate(date.getDate()); 
    tstart.setMonth(date.getMonth()); 
    tstart.setYear(date.getYear()); 
    tstart.setMinutes(tstart.getMinutes() + 6) 
    var tstop = new Date(row[3]); 
    tstop.setDate(date.getDate()); 
    tstop.setMonth(date.getMonth()); 
    tstop.setYear(date.getYear()); 
    tstop.setMinutes(tstop.getMinutes() + 6) 
    var loc = row[4]; 
    var desc = row[5]; 
    var guest = row[6] 
    var id = row[7];    



    try 
    { 
     var event = cal.getEventSeriesById(id); 
     event.deleteEventSeries(); 
     row[7] = '';  
    } 
    catch (e) { 

    } 

    var newEvent = cal.createEvent(title, new Date(tstart), new Date(tstop), {description:desc,location:loc}).getId(); 
    row[7] = newEvent; 
    debugger; 

    } 

    range.setValues(data); 
} 

Если возможно, я бы посоветовал это, так как я застрял.

+0

После нескольких исследований я узнал, что мне нужно использовать этот код. var event = cal.getEventSeriesById (id); event.addGuest (guest); но он не работал, он говорит, что действие не разрешено – Muiz

+0

см. Это сообщение http://stackoverflow.com/questions/26376942/adding-guests-to-calendar-event, а также этот блестящий: http://stackoverflow.com/ вопросы/15788897/создать-Google-календарь-события-из-таблицы, но, предотвращения-дубликатов/15790894 # 15790894 –

ответ

0

Для этого, если вы хотите создать новое событие для каждой новой записи в расширенном листе, вы можете использовать класс Calender и создать событие.

Если вы хотите отредактировать уже созданное событие и добавить новых гостей, вы можете использовать класс CalendarEvent и добавлять гостей.

Надеюсь, что это поможет!

Смежные вопросы