Я связываю скрипт с кнопкой «Отправить в календарь», которая будет на каждом листе моего листа. Я хочу, чтобы скрипт:
1) Создайте новое событие в календаре Google, основав его имя и даты на информации на листе, где расположена кнопка (разные данные на листе, все расположены по одним и тем же адресам ячеек).
2) Установите напоминание для всех участников за 6 недель до даты начала.
3) Пригласите / добавьте гостей (возможно, отправив событие в виде электронного письма на адрес, не являющийся адресом электронной почты? Я гибко отношусь к тому, как это выглядит, при условии, что я могу автоматически приглашать гостей.)
4) Установите colorId всех этих приглашений на «3» (лиловый) или любой другой цвет, кроме цвета события по умолчанию. (Это хорошо, но необязательно.)
Я собирал сценарий вместе с примерами Google и некоторыми ответами, которые нашел на этом сайте, но ни один из них не сделал то, что я хотел. Я также включил расширенные службы Google (https://developers.google.com/apps-script/guides/services/advanced), потому что я прочитал, что проблема может быть в разрешениях API Google, но прошло уже несколько часов с тех пор, как я его включил, и все еще не работает. Я не уверен, это имело значение.
Я думаю, это близко, но возвращает ошибку 404, и я не знаю, почему.
function createEvent() {
var vSS = SpreadsheetApp.getActiveSpreadsheet();
var vS = vSS.getActiveSheet();
var vEventName = vS.getRange("M5").getValue();
var start = vS.getRange("M6").getValue();
var end = vS.getRange("H3").getValue();
var calendar = CalendarApp.getCalendarById(
'example@gmail.com');
var event = calendar.createEvent; {vEventName;
new Date(start);
new Date(end);
attendees: [
{email: 'example@example.com'},
{email: 'example@example.com'}
];
colorId: 3
};
event = Calendar.Events.insert(event, calendar);
Logger.log('Event ID: ' + event.id);
}
Это создает событие в моем календаре успешно, но не добавляет гостей, не создает напоминание и не меняет цвет. (Обнаружено, что здесь: Скрипт Google Apps - Создание событий календаря )
function createEvent() {
var vSS = SpreadsheetApp.getActiveSpreadsheet();
var vS = vSS.getActiveSheet();
var vStartDate = vS.getRange("M5").getValue();
var vEndDate = vS.getRange("M6").getValue();
var vEventName = vS.getRange("H3").getValue();
var calendar = CalendarApp.getCalendarById(
'example@gmail.com');
var event = calendar.createEvent(vEventName,
new Date(vStartDate),
new Date(vEndDate));
Logger.log('Event ID: ' + event.getId());
}
Любая помощь приветствуется, особенно если вы можете добавить некоторые "//" объяснения о том, как работают части кода. Я новичок в сценариях и пытаюсь учить себя. Спасибо за внимание!