【问题标题】:How to programmatically add a guest attendee to GSuite calendar event on Save如何以编程方式将访客与会者添加到保存时的 GSuite 日历事件
【发布时间】:2019-06-15 21:00:23
【问题描述】:

我正在构建一个 GSuite 日历扩展。

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

该扩展程序具有内容脚本,可在 Google 日历添加事件页面中注入 HTML 和 javascript。此 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 添加来宾电子邮件吗?或使用后保存跳跳虎(如果有)?

任何指针?

【问题讨论】:

  • 下面的答案有什么问题?
  • @IslamElshobokshy 不幸的是,下面的答案并没有解决这个问题。它以编程方式创建会议。这就是我想要做的。我想在用户向其日历添加新会议时自动添加该与会者。
  • 尝试在您的问题中添加更多信息,例如代码/示例/链接,以了解如何使用简单的扩展格式,以便我们尝试使用它......等等,如果它是值得打扰
  • 查看更新的问题
  • @IslamElshobokshy 所以没有想法吧?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多