Javascript 如何使用Google Apps脚本创建/更改具有给定会议URL的Google日历事件?
我正在尝试使用以前生成的Meet URL创建或更新Google日历事件。 我试过这样的方法:Javascript 如何使用Google Apps脚本创建/更改具有给定会议URL的Google日历事件?,javascript,url,events,google-calendar-api,Javascript,Url,Events,Google Calendar Api,我正在尝试使用以前生成的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.s
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(),得到了相同的结果。有什么提示吗?不幸的是,这目前是不可能的
事实上,《公约》规定:
hangoutLink与此事件相关的Google+hangout的绝对链接只读
在谷歌的问题追踪器上,已经有一个用于实现手动设置链接的工具。我建议您“启动”该问题,以提高可见性并接收有关该功能实施的通知。我明白了,但由于可以使用Google Calendar更改/强制Meet链接,同样的功能不能通过Google日历API访问,这不是有点奇怪吗?到目前为止,并不是所有的UI功能都集成到API中。这就是为什么谷歌提供了提交功能请求的可能性——如果许多用户对某个功能感兴趣,那么它很可能最终会被合并。我理解,但仍有一些不清楚的地方。在这个序列中:
var event=eventCal.createEvent(summary、startTime、endTime、options);var event1=Calendar.Events.get(calendarId,eventId);var room1=event1.hangoutLink;事件1.设置链接(房间);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
的文档参考<代码>从日历更改中获取的事件,但不是原始事件
-只有使用Calendar.Events.update推动更改,原始日历事件才会更改。如果将新的hangoutLink
分配给变量event1
,则实际上不是在更新实际的事件资源,而是在本地为对象分配一个值。非常感谢您的评论。在API更新最终启用链接之前,我将停止尝试设置链接。:)