google-apps-script - 在高级日历更新后显示对日历事件的更改
问题描述
我正在通过单击附加边栏中的按钮以编程方式更新日历事件。我想将会议数据添加到事件中,并在我这样做时让会议出现在事件中。
我可以很好地使用会议数据更新活动,但我必须刷新页面才能看到活动中的会议。如何让会议在不刷新的情况下显示?
我知道这是可能的,因为缩放插件正是这样做的。
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: 点击添加会议按钮之前
图二: 点击添加会议按钮后(无其他交互,无刷新)
任何帮助是极大的赞赏!
解决方案
我想到了。您必须返回,而不是使用高级日历 API
return CardService.newCalendarEventActionResponseBuilder()
.setConferenceData(ConferenceData).build();
编辑:还发现"currentEventAccess": "READ_WRITE"
appsscript.json文件中的设置对于能够通过“eventOpenTrigger”等从选定事件中获取会议数据很重要
推荐阅读
- php - 将多个图像和文本合并为单个图像但无法正确排列
- python - 地理编码以获取数据框中的坐标
- c++ - 如何使用 MSVC 2019 创建和使用 Qt 5.14.0 自定义小部件插件?
- julia - 数组数组上的迭代器产品
- resilience4j - Spring Boot 和 Resilience4j 缓存提供的缓存选项之间的区别
- c# - 关于 Unity 错误:“SocketException:每个套接字地址只能使用一次”
- php - 收到此错误“语法错误,意外'回声'(T_ECHO),期待';' " 在 Laravel 中创建简单的控制器
- java - 如何在android中以编程方式绑定这个json数据,我在下面提到的例子
- javascript - 将带有 XMLHttpRequest 的请求 ID 发送到服务器端
- home-automation - 任何支持 KNX 的简单 Decora 摇杆开关?