如何使用 Google Apps 脚本创建/更改具有给定 Meet URL 的 Google 日历活动?
Posted
技术标签:
【中文标题】如何使用 Google Apps 脚本创建/更改具有给定 Meet URL 的 Google 日历活动?【英文标题】:How do I create/change a Google Calendar Event with a given Meet URL using Google Apps Script? 【发布时间】:2020-10-17 14:12:26 【问题描述】:我正在尝试使用之前生成的 Meet URL 创建或更新 Google 日历活动。 我试过这样的东西:
var event = eventCal.createEvent(summary, startTime, endTime, options);
var eventId = event.getId().split("@")[0];
var event1 = Calendar.Events.get(calendarId, eventId);
event1.setHangoutLink(room); //OLD Meet URL
Calendar.Events.update(event1, calendarId, event1.id);
var room1 = event1.hangoutLink;
一切似乎都很好,从最后一行我获得了 room1 == room,但事件是使用新的 Meet URL 创建的!我要添加的一个:
var newRoom = Calendar.Events.get(calendarId, eventId).hangoutLink;
在前面的代码之后。 我也尝试了 .patch() ,结果相同。有什么提示吗?
【问题讨论】:
【参考方案1】:很遗憾,目前这是不可能的
确实,documentation for the event resource 指定:
环聊链接 指向与此活动关联的 Google+ 环聊的绝对链接。 只读。
在 Google 的问题跟踪器上,已经有一个 feature request 用于实现环聊链接的手动设置。我建议您为问题“加注星标”以提高可见性并接收有关该功能实施的通知。
【讨论】:
我明白了,但是由于可以通过 Google 日历更改/强制使用 Meet 链接,因此无法通过 Google 日历 API 访问相同的功能是不是有点奇怪? 到目前为止,并非所有 UI 功能都包含在 API 中。这就是为什么 Google 提供了提交功能请求的可能性的原因 - 如果许多用户对某项功能感兴趣,它很可能最终会被合并。 我明白了,但仍有一些不清楚的地方。在这个序列中:var event = eventCal.createEvent(summary, startTime, endTime, options); var event1 = Calendar.Events.get(calendarId, eventId); var room1 = event1.hangoutLink; event1.setHangoutLink(room); var room2 = event1.hangoutLink; Calendar.Events.update(event1, calendarId, event1.id); var newRoom = Calendar.Events.get(calendarId, eventId).hangoutLink;
我获得了 room2==room(event1 似乎发生了变化),但最后,newRoom==room1!所以从日历中获取的事件发生了变化,但不是原来的事件......
我不确定我是否关注你。您能否提供有关 javascript 方法 setHangoutLink
的文档参考? Event taken from the Calendar changes but not the original one
- 在您使用 Calendar.Events.update
推动更改之前,原始日历事件不会更改。如果将新的hangoutLink
分配给变量event1
,则实际上并没有更新真实的事件资源,而只是在本地为对象分配了一个值。
非常感谢您的 cmets。我将停止尝试设置链接,直到 API 更新最终启用它。 :)以上是关于如何使用 Google Apps 脚本创建/更改具有给定 Meet URL 的 Google 日历活动?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Google Apps 脚本将公式添加到 Google 表格?
如何修复本地时间的 Google Apps 脚本并自动清除单元格
使用 Google Apps 脚本在 Google 表格中创建新表格
如何在 Google Apps 脚本中使用服务帐户对 Google 表格进行身份验证