Как программно добавить гостя в событие календаря GSuite при сохранении
Я строю расширение GSuite Calendar.
Мое расширение добавляет пользовательскую информацию к описанию нового события и нуждается в систематическом добавлении гостевой электронной почты, например [email protected]
Расширение имеет контент-скрипт, который внедряет HTML и javascript в страницу событий добавления календаря Google. Этот HTML создает кнопку на странице добавления события, и когда пользователь нажимает эту кнопку, javascript добавляет пользовательскую информацию в описание.
Вот HTML-код для добавления кнопки на странице добавления события.
html() {
return '<div>
<strong>
<a href='#add-description' id="add-description-btn" data-toggle="modal" data-backdrop='static' data-keyboard='false'>Add Custom Details</a>
</strong>
</div>';
}
Вот функция, которая добавляет HTML и javascript на страницу добавления события.
inject(eventType) {
const eventDetails = $('#tabEventDetails');
eventDetails.find('div:first').after(html(eventType));
// More javascript
}
Вот функция, которая добавляет пользовательские детали в описание.
addDescription(content) {
$('[aria-label="Description"]').html(content);
}
Я могу добавить описание, но как я могу добавить гостя программно без какого-либо вмешательства пользователя?
Можно ли как-нибудь добавить эту гостевую электронную почту, используя javascript? или использовать тигра после сохранения, если таковые имеются?
Есть указатели?
Ответы
Ответ 1
Добавьте в массив объекты "посетители", такие как {'email': '[email protected]'}:
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google\ developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': '[email protected]'},
{'email': '[email protected]'}
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10}
]
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
appendPre('Event created: ' + event.htmlLink);
});