在高级日历更新后,在视图中显示对日历事件的更改



我正在通过单击附加组件侧边栏中的按钮以编程方式更新日历事件。我想将会议数据添加到活动中,并在添加时将会议显示在活动中。

我可以用会议数据更新事件,但我必须刷新页面才能在事件中查看会议。如何在不刷新的情况下显示会议?

我知道这是可能的,因为缩放插件正是这样做的。

function createConference(e, label, uri) {
var event = Calendar.Events.get(e.calendar.calendarId, event.id);
event.conferenceData = {
conferenceId: newWaitingRoom._id,
entryPoints: [
{
label: label,
entryPointType: 'video',
uri: uri
}
],
conferenceSolution: {
key: { type: 'addOn' },
name: 'Digideck Live',
}
}
try {
event = Calendar.Events.update(event, e.calendar.calendarId, event.id, { conferenceDataVersion: 1 }, { 'If-Match': event.etag });
Logger.log('Successfully updated event: ' + event.id);
} catch (err) {
Logger.log('Fetch threw an exception: ' + err);
throw Error(err);
}
var nav = CardService.newNavigation().updateCard(createdConferenceCard);
return CardService.newActionResponseBuilder()
.setNavigation(nav)
.build();
}

缩放附加示例

图片1:单击"添加会议"按钮之前

图片2:单击"添加会议"按钮后(无其他交互,无刷新(

非常感谢您的帮助!

我想明白了。您必须返回,而不是使用高级日历API

return CardService.newCalendarEventActionResponseBuilder()
.setConferenceData(ConferenceData).build();

EDIT:还发现在appscript.json文件中设置"currentEventAccess": "READ_WRITE"对于能够通过";eventOpenTrigger";etc

最新更新