Я пытаюсь добавить ссылку «Зарегистрироваться» в событие Календаря Google, где после нажатия пользователю предлагается через HtmlService отправить свой адрес электронной почты.Затем их адрес электронной почты добавляется к событию.
Вот аналогичный пример .То, что я хотел бы сделать по-другому, - это использовать HtmlService, чтобы пользователь ввел свой адрес электронной почты, который затем передается обратно в GAS для добавления в рассматриваемое событие календаря.Таким образом, они могут выбрать адрес электронной почты, который они хотят (вместо того, что Session.getActiveUser (). GetEmail () возвращает), чтобы зарегистрироваться.(Под регистрацией я имею в виду добавление в список гостей - им все еще нужно принять приглашение, но это нормально).
Возможно ли это?Я не вижу никаких примеров этого, так что, может быть, есть лучший способ?
Я начинаю рвать на себе какие у меня маленькие волосы.Я включил мой последний пример кода, где я передаю объект события в шаблон HTML.Это не выдает ошибку, но это также не работает.Заранее спасибо!!
Code.gs:
function doGet(event) {
// // shorten the event parameter path;
var param = event.parameter;
// // get the calendar event id passed in the query parameter
var eventId = param.eId;
var calId = param.calId;
var cal = CalendarApp.getCalendarById(calId);
var t = HtmlService.createTemplateFromFile('Index');
t.eObj = cal.getEventById(eventId);
return t.evaluate();
}
function addEmail(emObj,myForm){
var guestEmail = myForm.user;
emObj.addGuest(guestEmail)
}
и Index.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function update() {
alert("Success!");
}
</script>
</head>
<body>
<form id="myForm">
<input id="userEmail" name="user" type="text" />
<input type="button" value="Submit" onClick="google.script.run.withSuccessHandler(update).addEmail(eObj,this.form)" />
</form>
</body>
</html>