Как программно добавить гостя в событие календаря 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);
});