Google apps script CalendarApp事件ID

Google apps script CalendarApp事件ID,google-apps-script,google-sheets,google-calendar-api,Google Apps Script,Google Sheets,Google Calendar Api,使用Google Apps脚本,我试图在CalendarApp中创建一个事件,并在电子表格中存储指向该事件的链接 要创建指向事件的链接,我需要获取事件ID,但是在Google Apps脚本中使用event.getID()会返回错误的事件ID 链接的格式应为: https://calendar.google.com/calendar/event?eid={eventID}=%7BAmerica/Chicago%7D 事件ID应类似于: TMFMBHZYDMU1ADBDZGHLYMMWAWDQCW

使用Google Apps脚本,我试图在
CalendarApp
中创建一个事件,并在电子表格中存储指向该事件的链接

要创建指向事件的链接,我需要获取事件ID,但是在Google Apps脚本中使用
event.getID()
会返回错误的事件ID

链接的格式应为:

https://calendar.google.com/calendar/event?eid={eventID}=%7BAmerica/Chicago%7D
事件ID应类似于:

TMFMBHZYDMU1ADBDZGHLYMMWAWDQCW1WZGMGDY1HT6YHUHI5YXJWY5LMHV2OTYZAMTAZW

getID()
正在返回以下内容:

065cvve58nriutnkuses332fkf@google.com

为什么气体以这种格式返回ID?

根据这一点

getId()

获取日历的ID。用户默认日历的ID为 他们的电子邮件地址

您必须具有活动的特定id

您也可以查看以下链接:


基于此,ID并不总是相同的,它们是相等的,显然在同步之前分配了一个临时ID。

返回给您的ID是日历ID(
065cvve58nriutnkuses332fkf@google.com

如果您再次检查此项是否与要在其中创建事件的日历的id匹配,请转到屏幕截图中所示的日历设置和共享

然后,您可以使用此id调用要使用的日历:

calendar = CalendarApp.getCalendarById('065cvve58nriutnkuses332fkf@google.com');
然后你可以继续你的初衷

eventId = calendar.createAllDayEvent(eventName, new Date (eventDate)).getId;
返回的ID,不能与用于特定事件的事件ID互换。看

iCalUID ID用于处理多个日历系统中的事件。对于仅在Google Calendar中使用ID,请使用luc推荐的方法通过高级日历服务获取事件ID,方法是列出所有事件并与iCalendar ID进行匹配


出于测试目的,您可以通过导航到Google日历,单击事件,单击编辑,然后复制URL中“.”之后的部分来获取事件ID。

感谢您的回复。我正在查找刚刚创建的事件的特定事件ID。而不是像您提供参考的链接那样的日历ID或表单ID。
eventId = calendar.createAllDayEvent(eventName, new Date (eventDate)).getId;