如何在保存

时间:2019-01-22 11:38:06

标签: javascript google-chrome-extension google-calendar-api gsuite

我正在构建GSuite日历扩展程序。

我的扩展程序将自定义信息添加到新事件的描述中,并且需要系统地添加来宾电子邮件,例如test@mydomain.com。

该扩展程序具有content-script,可将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 :(得分:4)

添加到数组“与会者”对象,例如{'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);
});