Как программно добавить гостя в событие календаря GSuite при сохранении - PullRequest
0 голосов
/ 22 января 2019

Я создаю расширение GSuite Calendar.

Мое расширение добавляет пользовательскую информацию к описанию нового события и нуждается в систематическом добавлении гостевого электронного письма, например test@mydomain.com.

Расширение имеет контент-скрипт, который внедряет 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 Ответ

0 голосов
/ 31 января 2019

Добавить в массив объекты «посетители», такие как {'email': 'lpage@example.com'}:

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s 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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  '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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...