0

Моя цель - автоматически синхронизировать календарь Google с электронной таблицей Google. Каждый раз, когда событие добавляется в календарь, строки должны быть добавлены в электронную таблицу google. Я написал сценарий, который загружает список предстоящего события в электронную таблицу google. Этот код работает и добавляет список из 10 событий при каждом запуске скрипта. Однако я хочу автоматически запускать этот скрипт, когда событие создается через календарь Google, и я хочу избежать дублирования событий. Какая функция доступна для такого прослушивателя событий?Как синхронизировать календарь Google с электронной таблицей Google?

function listUpcomingEvents() { 
    var calendarId = '[email protected]e.com'; 
    var optionalArgs = { 
    timeMin: (new Date()).toISOString(), 
    showDeleted: false, 
    singleEvents: true, 
    maxResults: 10, 
    orderBy: 'startTime' 
    }; 
    var response = Calendar.Events.list(calendarId, optionalArgs); 
    var events = response.items; 
    if (events.length > 0) { 
    for (i = 0; i < events.length; i++) { 
     var event = events[i]; 
     var when = event.start.dateTime; 
     if (!when) { 
     when = event.start.date; 
     } 
     Logger.log('%s (%s)', event.summary, when); 
     addEventToSheet(event.summary, when); 
    } 
    } else { 
    Logger.log('No upcoming events found.'); 
    } 
} 
function addEventToSheet(sumarry, date) { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.appendRow([sumarry, date]); 
} 

ответ

1

Короткий ответ

Используйте время привода триггер

Пояснение

В это время Google Apps Script не в состоянии связан сценарий для Календаря Google. Альтернативы - использовать ограниченную электронную таблицу или отдельный сценарий, поэтому в это время невозможно запустить сценарий, когда создается событие, в отличие от представления ответа формы.

Ссылки
Смежные вопросы