如何使用 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 表格进行身份验证

我是否需要更改我的Apps脚本代码,因为Google+登录功能已被弃用?

如何使用 Google Apps 脚本将 PDF 正文格式化为看起来像电子邮件?